프로그래밍 언어2018.06.18 08:51
* Adds include and library path to the all projects by default
Open and edit the file %UserProfile%/AppData/Local/Microsoft/MSBuild/v4.0/Microsoft.Cpp.x64.user.props and add the red lines in the following (Also needs to refer to https://github.com/qPCR4vir/nana-docs/wiki/Installation)

<?xml version="1.0" encoding="utf-8"?>

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets">
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>C:\nana\include;$(IncludePath)</IncludePath>
    <LibraryPath>C:\nana\extrlib\vc2017;C:\nana\build\bin\vc2017;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup />
  <ItemGroup />
</Project>



* Changes the options to use static libraries
Open the project property page and change the options as follows for the property, C/C++ > Code Generation > Runtime Library.


Multi-threaded Debug (/MTd) for the Debug Configuration

Multi-threaded (/MT) for the Release Configuration



* (Optional) Adds the 3rd party libraries to make linker working properly

(Do this if you decide to use the 3rd party libraries. Refer to https://github.com/cnjinhao/nana/wiki/Configuration-of-Third-Party-Libraries-for-Nana)

Open the project property page and add the following line to the property, Linker > Input > Additional Dependeicies.

nana_$(DefaultPlatformToolset)_$(Configuration)_$(PlatformTarget).lib;libjpeg.MT.$(PlatformTarget).lib;libpng.MT.$(PlatformTarget).lib;libzlib.MT.$(PlatformTarget).lib;



* (Optional) Gets rid of the console window

  1. Open the project property page.
  2. Change the options as follows for the property, Linker > System > SubSystem.
    Windows (/SUBSYSTEM:WINDOWS)
  3. Add the following keyword to the property, Linker > Advanced > Entry Point.
    mainCRTStartup


Posted by 경기도 개발자(?) 세월의돌
프로그래밍 언어2018.06.04 19:45

Microsoft(이하 MS)를 별로 좋아하지 않는 사람들도 있지만, 개인적으로 MS의 개발도구를 선호하기도 하고, Linux에서도 사용할 수 있기 때문에, Visual Studio Code(이하 vscode)와 extension인 Rust(rls)의 사용을 기준으로 정리한다. (즉, vscode가 설치되어 있다는 전제로 설명한다. 개취라고 생각하므로 Jetbrains tool이 더 좋다는 태클은 사양)


  1. Install LLVM that script is enabled.
    LLVM을 설치한다. vscode에서 debug를 하려면 script(python)가 활성화 된 LLVM(lldb)이 필요하다. 그런데 llvm.org에서 최신버전(6.0.0)을 설치하고 vscode에서 debug 명령을 실행하면, script를 지원하지 않는다는 메시지가 출력된다. 직접 빌드를 해서 사용해도 되겠지만, 빌드 되어 있는 버전이 있으므로, 아래 경로에 있는 파일을 설치하면 되겠다. https://github.com/vadimcn/llvm/releases/tag/r308926 (direct link)

  2. Install python 3.5.x that is required by lldb scripting.
    Python 3.5.x를 설치한다. vscode에서 lldb를 이용한 debug를 사용하려면, 시스템에 python35.dll이 필요하다. 현재 시점에 python.org에서 최신버전은 3.6.5이고, 3.5.x의 최신 릴리즈는 2018-02-05에 릴리즈 된 3.5.5인데, 소스로만 릴리즈 된다. 귀찮으므로, 2017-08-08에 릴리즈된 3.5.4의 바이너리를 받아서 설치한다.(direct link)

  3. Install rust.
    Rust를 설치한다. https://www.rust-lang.org/en-US/install.html 에서 rustup-init.exe를 다운로드하여 설치하면 된다. curl을 사용할 수 있다면, curl을 이용할 수도 있다. 설치 실행파일(스크립트)을 실행하면, 아래와 같은 text UI가 보이는데, Rust(rls)는 nightly build를 사용하기 때문에, default toolchain을 nightly로 변경해 주어야 한다.

    Default toolchain을 제외한 나머지 물음은 default 설정을 그대로 사용하면 되겠다. 이후 1번을 선택 해 설치를 진행하면 된다.

  4. Install vscode extension, Rust(rls).
    Rust(rls)를 설치한다. Install -> Reload 하면 된다.


  5. Generate sample rust project and build it. Refer to https://doc.rust-lang.org/1.4.0/book/hello-cargo.html#a-new-project
    제목의 경로를 참고해서 프로젝트를 생성하고, vscode에서 해당 폴더를 열어보면 아래와 같은 alert이 발생한다.

    Yes를 선택해서 설치하면 된다. 만약 나타나지 않는다면, vscode를 종료 후 다시 시작 하면 된다.

  6. Build and execute sample project.
    설치 후, CTRL+SHIFT+B를 누르면 아래와 같은 목록이 보이고, Rust: cargo build를 선택하면, 빌드가 진행되고 완료된다.


    task.json 파일을 아래와 같이 수정하면, 위의 목록 없이 바로 빌드가 되도록 만들 수 있다.


    CTRL+SHIFT+P를 누르고, run을 입력하면 Tasks: Run Task가 보인다. 선택하자.

    이제 아래와 같은 목록이 보이며, Rust: cargo run을 선택하면, 실행 결과를 terminal에서 볼 수 있다.


  7. Install vscode extension, CoreLLDB.
    디버깅을 위해 CodeLLDB를 설치한다. (Native Debug를 설치해도 된다고 하는데, 아이콘이 맘에 들므로 CodeLLDB를 설치했다)


  8. Let's do debug.
    F5를 누르고 LLDB를 선택하면, 처음에는 launch.json 파일이 생성되고, 다시 동일한 동작을 수행하면...


    아래와 같은 에러가 발생한다... 이건 아직 해결 못함 :-(


    해결 하고나면 업데이트 하는걸로...

여기까지 하고 나면(사실 6번까지...) 빌드하고 실행할 수 있다 lol


Posted by 경기도 개발자(?) 세월의돌

티스토리 툴바