CMake set_property ()가 소스 파일에서 작동하지 않는 것 같습니다.

일부 소스 파일에 컴파일 정의를 추가하려고했기 때문에 다음과 같이 구성합니다.

set_property(
    SOURCE main.cpp
    APPEND
    PROPERTY
    COMPILE_DEFINITIONS "VERSION=3"
)

내가 사용하는 make VERBOSE=1구성을 확인하는 것이 아니라 존재하지 않는 -DVERSION=3를 컴파일하는 동안 또는 이와 유사한 것 main.cpp.o. 그런 다음 다시 시도했습니다.

set_property(
    DIRECTORY
    APPEND
    PROPERTY
    COMPILE_DEFINITIONS "VERSION=3"
)

그런 다음 -DVERSION=3. 왜 작동 set_property()하지 SOURCE않습니까? 나는 GNU Makefile 생성기를 사용하여 CMake 2.8.12 및 CMake 3.10에서 이것을 시도했습니다.

정사각형

set_property(SOURCE ...)서명을 사용할 때 상대 경로가있는 소스 파일은 현재 CMakeLists.txt 파일에 상대적인 것으로 해석됩니다 . 따라서 상대 경로를 지정할 때 파일은 현재 CMakeLists.txt 파일과 동일한 디렉토리에 main.cpp 있어야합니다 . 가능한 한 절대 경로를 사용하는 것이 항상 가장 안전합니다 (귀하와 같은 문제를 방지하기 위해).

set_property(
    SOURCE ${CMAKE_CURRENT_LIST_DIR}/main.cpp
    APPEND
    PROPERTY
    COMPILE_DEFINITIONS "VERSION=3"
)

set_property(SOURCE ...)명령 의 추가 요구 사항은 다음과 같습니다 ( 문서에서 ).

SOURCE

범위는 0 개 이상의 소스 파일 이름을 지정할 수 있습니다. 소스 파일 등록 정보는 동일한 디렉토리 ( CMakeLists.txt)에 추가 된 대상에만 표시됩니다 .

따라서 소스 파일을 사용하는 CMake 대상은 소스 파일을 호출하는 동일한 CMakeLists.txt 파일에 정의 되어야set_property() 합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트가 작동하지 않는 것 같습니다. JSFiddle에서는 작동합니다.

분류에서Dev

데이터베이스에 대한 액세스 취소가 작동하지 않는 것 같습니다.

분류에서Dev

JQuery가 Wordpress에서 작동하지 않는 것 같습니다.

분류에서Dev

AVD에서 sdcard가 작동하지 않는 것 같습니다.

분류에서Dev

Flexbox가 IE에서 작동하지 않는 것 같습니다.

분류에서Dev

"Require"가 systemd에서 작동하지 않는 것 같습니다.

분류에서Dev

모바일 서비스 태그가 Cordova 앱에서 작동하지 않는 것 같습니다.

분류에서Dev

toLowerCase () 메서드가 작동하지 않는 것 같습니다.

분류에서Dev

CSS가 모바일 장치에서 작동하지 않는 것 같습니다.

분류에서Dev

와일드 카드가 Bash에서 작동하지 않는 것 같습니다.

분류에서Dev

Coffeescript가 컴파일되지만 작동하지 않는 것 같습니다.

분류에서Dev

Digest가 Sass 파일 내의 SVG 이미지에서 작동하지 않는 것 같습니다.

분류에서Dev

popUpTo가 탐색 구성 요소에서 작동하지 않는 것 같습니다.

분류에서Dev

`add_template_helper` 메소드가 Rails 6.1에서 작동하지 않는 것 같습니다.

분류에서Dev

CSS 최소 높이가 Jelly Bean에서 작동하지 않는 것 같습니다.

분류에서Dev

DIff 파일의 인수 무시가 작동하지 않는 것 같습니다.

분류에서Dev

실행 파일의 setuid가 작동하지 않는 것 같습니다.

분류에서Dev

동적으로 인스턴스화 된 구성 요소에서 변경 감지가 작동하지 않는 것 같습니다.

분류에서Dev

시퀀스 생성 기본 키가 select 문에서 제대로 작동하지 않는 것 같습니다.

분류에서Dev

WshShell.AppActivate가 간단한 vbs 스크립트에서 작동하지 않는 것 같습니다.

분류에서Dev

세마포가 여러 스레드에서 올바르게 작동하지 않는 것 같습니다.

분류에서Dev

정규식 일치가 자바 스크립트가 작동하지 않는 것 같습니다.

분류에서Dev

서비스 클래스의 Redis 캐시가 작동하지 않는 것 같습니다.

분류에서Dev

JQuery가 서버 제어에서 작동하지 않는 것 같습니다.

분류에서Dev

Bluemix 용 MobileFirst QA 구성 요소가 작동하지 않는 것 같습니다.

분류에서Dev

Bluemix 용 MobileFirst QA 구성 요소가 작동하지 않는 것 같습니다.

분류에서Dev

기본 맞춤 요소가 작동하지 않는 것 같습니다.

분류에서Dev

zip : create가 Windows의 Erlang 22에서 작동하지 않는 것 같습니다.

분류에서Dev

performWithDelay가 루아에서 작동하지 않는 것 같습니다.

Related 관련 기사

  1. 1

    자바 스크립트가 작동하지 않는 것 같습니다. JSFiddle에서는 작동합니다.

  2. 2

    데이터베이스에 대한 액세스 취소가 작동하지 않는 것 같습니다.

  3. 3

    JQuery가 Wordpress에서 작동하지 않는 것 같습니다.

  4. 4

    AVD에서 sdcard가 작동하지 않는 것 같습니다.

  5. 5

    Flexbox가 IE에서 작동하지 않는 것 같습니다.

  6. 6

    "Require"가 systemd에서 작동하지 않는 것 같습니다.

  7. 7

    모바일 서비스 태그가 Cordova 앱에서 작동하지 않는 것 같습니다.

  8. 8

    toLowerCase () 메서드가 작동하지 않는 것 같습니다.

  9. 9

    CSS가 모바일 장치에서 작동하지 않는 것 같습니다.

  10. 10

    와일드 카드가 Bash에서 작동하지 않는 것 같습니다.

  11. 11

    Coffeescript가 컴파일되지만 작동하지 않는 것 같습니다.

  12. 12

    Digest가 Sass 파일 내의 SVG 이미지에서 작동하지 않는 것 같습니다.

  13. 13

    popUpTo가 탐색 구성 요소에서 작동하지 않는 것 같습니다.

  14. 14

    `add_template_helper` 메소드가 Rails 6.1에서 작동하지 않는 것 같습니다.

  15. 15

    CSS 최소 높이가 Jelly Bean에서 작동하지 않는 것 같습니다.

  16. 16

    DIff 파일의 인수 무시가 작동하지 않는 것 같습니다.

  17. 17

    실행 파일의 setuid가 작동하지 않는 것 같습니다.

  18. 18

    동적으로 인스턴스화 된 구성 요소에서 변경 감지가 작동하지 않는 것 같습니다.

  19. 19

    시퀀스 생성 기본 키가 select 문에서 제대로 작동하지 않는 것 같습니다.

  20. 20

    WshShell.AppActivate가 간단한 vbs 스크립트에서 작동하지 않는 것 같습니다.

  21. 21

    세마포가 여러 스레드에서 올바르게 작동하지 않는 것 같습니다.

  22. 22

    정규식 일치가 자바 스크립트가 작동하지 않는 것 같습니다.

  23. 23

    서비스 클래스의 Redis 캐시가 작동하지 않는 것 같습니다.

  24. 24

    JQuery가 서버 제어에서 작동하지 않는 것 같습니다.

  25. 25

    Bluemix 용 MobileFirst QA 구성 요소가 작동하지 않는 것 같습니다.

  26. 26

    Bluemix 용 MobileFirst QA 구성 요소가 작동하지 않는 것 같습니다.

  27. 27

    기본 맞춤 요소가 작동하지 않는 것 같습니다.

  28. 28

    zip : create가 Windows의 Erlang 22에서 작동하지 않는 것 같습니다.

  29. 29

    performWithDelay가 루아에서 작동하지 않는 것 같습니다.

뜨겁다태그

보관