CMake错误“无法找到要添加属性的目标”

时间:2013-02-27 10:58:22

标签: cmake

在我的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

2 个答案:

答案 0 :(得分:6)

要使代码生效,hello_static 必须是CMake目标的名称;例如,通过add_executableadd_library命令添加的内容。

这与您的项目名称无关。

您似乎错过了以下内容:

add_library(hello_static ${LIBHELLO_SRC})

将在

之后立即放置
set(LIBHELLO_SRC hello.c)

答案 1 :(得分: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})

这适合我。

但是如果你只想要一个“你好”的可执行文件。你可以把它减少到:

project(hello_static)
set(LIBHELLO_SRC hello.c)
add_executable(hello ${LIBHELLO_SRC})