如何在cmake中设置源文件后的库标志?

时间:2017-07-01 21:23:24

标签: c++ c++11 cmake

我尝试使用CMake使用hwloc编译项目。但是,链接时我得到了大量未定义的引用错误:

undefined reference to `hwloc_get_type_depth'
undefined reference to `hwloc_bitmap_zero'
[...]

根据this answer对类似的问题,旗帜的顺序很重要。

那么,如何在CMake中生成这样的命令? :

g++ -Wall -std=c++11 source.cpp -lhwloc

摘自我的CMakeLists.txt:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -lhwloc")

set(SOURCE_FILES source.cpp)
add_executable(source ${SOURCE_FILES})

非常感谢任何帮助!

编辑:我的问题被建议作为this one的可能副本,但是我想要添加的标志是链接到库而不是正常的编译标志,就像上面提到的问题中的情况一样。 @Edgar Rokyan为我的问题提供了正确的答案。

1 个答案:

答案 0 :(得分:5)

如果您需要链接 hwloc 库,可以使用target_link_libraries命令:

.content img {
    width: 200px; // This value is for test;
    margin: 0 auto;
}