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

C++ 如何在cmake中的源文件之后设置库标志?,c++,c++11,cmake,C++,C++11,Cmake,我正在尝试使用hwloc和CMake编译一个项目。但是,在链接时,我会遇到大量未定义的引用错误: undefined reference to `hwloc_get_type_depth' undefined reference to `hwloc_bitmap_zero' [...] 根据一个类似的问题,旗帜的顺序很重要 那么,如何在CMake中生成这样的命令呢 g++-Wall-std=c++11 source.cpp-lhwloc 摘自my CMakeLists.txt: set(CMA

我正在尝试使用hwloc和CMake编译一个项目。但是,在链接时,我会遇到大量未定义的引用错误:

undefined reference to `hwloc_get_type_depth'
undefined reference to `hwloc_bitmap_zero'
[...]
根据一个类似的问题,旗帜的顺序很重要

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

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

摘自my CMakeLists.txt:

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

set(SOURCE_FILES source.cpp)
add_executable(source ${SOURCE_FILES})
非常感谢您的帮助


编辑:我的问题是作为的一个可能的副本提出的,但是我想添加的标志是针对库的链接,而不是像上面提到的问题那样的普通编译标志@Edgar Rokyan为我的问题提供了正确的答案。

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


set(CMAKE_CXX_FLAGS“${CMAKE_CXX_FLAGS}-Wall-std=c++11”)\


set(CMAKE_CXX_FLAGS“${CMAKE_CXX_FLAGS}-Wall-std=c++11”)#可能的重复可能的重复非常感谢!这就解决了问题。我会尽快接受你的答复。非常感谢!这就解决了问题。我会尽快接受你的答复。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11") # <== remove *-lhwloc*

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

target_link_libraries(source hwloc) # <== add this line