使用Clang,c ++ 11无法与Mac OS X中的boost相关联

时间:2013-03-24 18:09:19

标签: macos boost clang

我尝试在Qt Creator中使用Mac OS X上的Clang ++使用boost编译程序。一切顺利:我编译了boost和所有程序模块,但是在链接阶段clang找不到任何符号:

Undefined symbols for architecture x86_64:
  "_BIO_ctrl", referenced from:
      boost::asio::ssl::detail::engine::map_error_code(boost::system::error_code&) const in session.o
  .....
  "boost::log::v2s_mt_posix::core::get()", referenced from:
      INIT_LOG() in log.o
  .....

qmake config:

CONFIG       -= qt

CONFIG       += console debug

TARGET = server

QMAKE_CXXFLAGS -= -mmacosx-version-min=10.6
QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7
QMAKE_LFLAGS -= -mmacosx-version-min=10.6
QMAKE_LFLAGS += -stdlib=libc++ -mmacosx-version-min=10.7

链接命令是:

clang ++ -headerpad_max_install_names -stdlib = libc ++ -mmacosx-version-min = 10.7 -o server main.o session.o log.o -L / Users / apple / lib / boost_1_53_0 / usr / lib -L ​​/ opt / local / lib -L ​​/ usr / lib -lssl -lboost_system -lboost_filesystem -lboost_date_time -lboost_thread -lboost_log_setup -lboost_log -lboost_chrono -lboost_program_options

如果我重命名* .dylib,它说无法找到-lboost_ *,所以它确实是SEES库文件。

我可以找到nm符号存在:

0000000000018ad0 T __ZN5boost3log11v2_mt_posix4core3getEv

0 个答案:

没有答案