相关疑难解决方法(0)

提升日志,GCC 4.4和CMake

我试图在Linux上使用GCC 4.4.5,CMake 2.8.2和Boost 1.53.0运行一个简单的boost.log示例.

编译boost和boost日志成功,但在将测试程序链接到boost.log时,我一直遇到问题.

我使用以下CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.8)

project(QuantibBoostLogTest)

# Include boost headers
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
find_package(Threads)
find_package(Boost 1.53.0 COMPONENTS thread date_time filesystem system log log_setup REQUIRED)
if(Boost_FOUND)
  include_directories( ${Boost_INCLUDE_DIRS} )
  link_libraries(${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES})
else(Boost_FOUND)
  message(FATAL_ERROR "Cannot build Quantib Boost Log test without Boost. Please set Boost_DIR.")
endif(Boost_FOUND)

add_executable(quantibBoostLogTest boost_log_test.cxx)
install(TARGETS quantibBoostLogTest DESTINATION .)
Run Code Online (Sandbox Code Playgroud)

CMake确实正确检测了boost库,但我仍然遇到链接器错误,主要是以下形式:

core.cpp:(.text+0x1b0e): undefined reference to `boost::detail::get_tss_data(void const*)'
Run Code Online (Sandbox Code Playgroud)

我链接线程库.有人知道如何解决这个问题吗?

c++ linux gcc boost cmake

15
推荐指数
2
解决办法
6579
查看次数

标签 统计

boost ×1

c++ ×1

cmake ×1

gcc ×1

linux ×1