0

以下のシーンを確認してください:

cmakelists_1.txt

set( variable_name
     ${CMAKE_CURRENT_SOURCE_DIR}/sub_folder1
     ${CMAKE_CURRENT_SOURCE_DIR}/sub_folder2
    )

cmakelists_2.txt

include_directories(
    ${variable_name}
)

cmakelists_2 が実行されると、sub_folders に存在するファイルは含まれません。ただし、cmakelists_1 で sub_folders の絶対パスを指定すると機能します。

何か不足している場合は指摘してください。

4

1 に答える 1

0

CMAKE_CURRENT_SOURCE_DIRそれを言及するCMakeLists.txtが存在する現在のソースディレクトリは常にです。そのため、使用されるディレクトリに応じて異なるものに展開されます。それはあなたにとって何に拡張されていますか?ハードコードされたパスとどのように違いますか? 違いがわかれば修正方法がわかるので、両方のファイルで次のようにします。

message(${variable_name})

次に、再実行cmakeして、何が印刷されるかを確認します。

于 2013-03-13T04:20:10.597 に答える