也许我根本找不到它,但我想在我的项目中添加一些代码(libunwind 在这里找到http://www.nongnu.org/libunwind/download.html)
这个库没有 CMakeLists。 txt 文件,当我尝试包含它时,cmake 抱怨这个事实。现在我只是将 libunwind 目录添加到我的外部代码中,并在我的主 CMakeLists.txt 中添加了一个引用
任何输入都会很棒。
也许我根本找不到它,但我想在我的项目中添加一些代码(libunwind 在这里找到http://www.nongnu.org/libunwind/download.html)
这个库没有 CMakeLists。 txt 文件,当我尝试包含它时,cmake 抱怨这个事实。现在我只是将 libunwind 目录添加到我的外部代码中,并在我的主 CMakeLists.txt 中添加了一个引用
任何输入都会很棒。
处理图书馆有两种选择:
find_package( Boost COMPONENTS date_time system serialization thread program_options filesystem unit_test_framework regex chrono REQUIRED )
if( NOT Boost_FOUND )
message( FATAL_ERROR "Cannot find boost!" )
endif( NOT Boost_FOUND )
message(STATUS "boost found")
include_directories( ${Boost_INCLUDE_DIRS} )
link_directories( ${Boost_LIBRARY_DIRS} )
target_link_libraries(YOUR_TARGET_NAME ${Boost_LIBRARIES})
2.您可以将外部库源添加为独立目标,并像这样使用 CMake 来构建它:
set (sources
async_waiter.h
async_waiter_impl.h
async_waiter_impl.cpp
)
add_library( async_waiter ${sources} )
稍后在您的目标链接上:
target_link_libraries(YOUR_TARGET_NAME async_waiter)
如果您想每次都与您的项目一起构建它,最简单的方法是:
然而,这很少需要,大多数时候您应该只构建一次库并将其链接为任何其他外部库。