>

VS 개발과 Cmake를 처음 사용합니다. CMake-GUI를 사용하여 Visual Studio 솔루션을 생성하고 성공적으로 빌드 할 수 있습니다.

그러나 코드는 이제 바이너리를 빌드하고 링크 할 수있는 단계에 도달했습니다. 여러 사람이 코드를 체크인하면서 야간 빌드를하고 싶기 때문에 배치 파일을 작성하려고했습니다.

그러나 명령 줄에서 cmake를 호출하려고하는데 문제가 발생합니다.

cmake-gui에서 구성하기 위해 두 가지 값을 제공합니다. 내 소스 코드의 경로 바이너리가 생성 될 경로

그러나 (다음 명령을 사용하여) 동일한 명령을 실행하려고 할 때

cmake -G "NMake Makefiles" -D CMAKE_SOURCE_DIR="D:\source_code" -D CMAKE_BINARY_DIR="D:\source_code\build\gen\host"

CMake에서 오류 발생 : "D : \"소스 디렉토리는 디렉토리가 아닌 파일입니다.

행운없이 다음 변형도 시도했습니다

cmake -G "NMake Makefiles" -D PROJECT_SOURCE_DIR="D:\source_code" -D PROJECT_BINARY_DIR="D:\source_code\build\gen

누군가가 올바른 구문으로 안내해 줄 수 있습니까?

미리 감사합니다

  • 답변 # 1

    명령 줄에서 이러한 변수를 설정하려고 시도해서는 안됩니다. CMakeLists.txt를 처음 읽을 때 CMake에 의해 자동으로 설정됩니다.

    대신 바이너리 바이너리 내에서 CMake 명령을실행하고 최상위 CMakeLists.txt를 포함하는 디렉토리로 경로를 전달해야합니다. 그래서 다음과 같습니다 :

    cd D:\source_code\build\gen\host
    cmake -G"NMake Makefiles" D:\source_code
    
    

    그런데 CMake의 커맨드 라인 파싱은 좋지 않습니다 (예 :이 답변 참조). -D 후 공백을 피하는 것이 좋습니다.  인수.

  • 답변 # 2

    이것을 시도하십시오

    -D와 매개 변수 사이의 공백 제거

    cmake -G "NMake Makefiles" -DCMAKE_SOURCE_DIR="D:\source_code" -DCMAKE_BINARY_DIR="D:\source_code\build\gen\host"
    
    

  • 답변 # 3

    프로젝트에서 CMake-GUI를 사용했습니다. 그러나 항목을 반복적으로 채우지 않도록 쉘 스크립트 파일을 만들었습니다.

    샘플 요지는 다음과 같습니다.

    cd <DIRECTORY_TO_BUILD> && <CMAKE-INSTALLATION-PATH>/bin/cmake.exe --build= "<BUILDSOURCE-PATH> -DQt5Widgets_DIR:PATH=C:/Qt/5.12.0/msvc2017/lib/cmake/Qt5Widgets
    
    

    cd로 시작했다면 스크립트가 스크립트가 실행되는 곳에서 빌드 폴더를 만듭니다.

  • 이전 Amazon Certificate Manager를 사용하여 NameCheap에서 CNAME 항목이 작동하지 않습니다
  • 다음 python - setuptools/wheelpy에서"no such file or directory"오류를 수정하는 방법 - _convert_metadata