7

私のCMakeLIsts.txtファイルにこれを書きます:

set(LIBHELLO_SRC hello.c)
set_target_properties(hello_static PROPERTIES OUTPUT_NAME "hello")
get_target_property(OUTPUT_VALUE hello_static OUTPUT_NAME)
message(STATUS "This is the hello_static OUTPUT_NAME:"${OUTPUT_VALUE})

を実行するcmakeと、エラーメッセージが表示されます。

set_target_properties Can not find target to add properties to: hello_static
4

2 に答える 2

11

コードが機能するには、CMake ターゲットの名前であるhello_static 必要があります。たとえば、add_executableまたはコマンドを介して追加されるもの。add_library

これは、プロジェクトの名前とは関係ありません。

次のようなものが欠けているようです:

add_library(hello_static ${LIBHELLO_SRC})

直後に配置される

set(LIBHELLO_SRC hello.c)
于 2013-02-27T13:40:11.060 に答える
0

これを試して:

project(hello_static)
set(LIBHELLO_SRC hello.c)
add_executable(hello_static ${LIBHELLO_SRC})
set_target_properties(hello_static PROPERTIES OUTPUT_NAME "hello")
get_target_property(OUTPUT_VALUE hello_static OUTPUT_NAME)
message(STATUS "This is the hello_static OUTPUT_NAME:"${OUTPUT_VALUE})

これは私にとってはうまくいきます。

ただし、「hello」実行可能ファイルが必要な場合。これを次のように減らすことができます。

project(hello_static)
set(LIBHELLO_SRC hello.c)
add_executable(hello ${LIBHELLO_SRC})
于 2013-02-27T11:03:39.657 に答える