xcode + boost:为什么我会收到链接错误

时间:2016-09-23 22:40:41

标签: c++ xcode boost linker homebrew

我正在使用xcode进行c ++项目,我需要使用boost。

所以我用brew下载了提升 然后我用命令安装boost:

brew install boost

在此之后,我发现此处安装了增强功能:

/usr/local/Cellar/

此外,还找到了所有增强头文件的链接文件:

/usr/local/include/

发现了升压的lib文件:

/usr/local/lib/

然后在我的xcode项目中:
构建设置--->搜索路径--->标题搜索路径:/usr/local/include/
构建设置--->搜索路径--->图书馆搜索路径:/usr/local/lib/

在我的项目中,我尝试以下代码:

#include <boost/thread/thread_pool.hpp>
int main(int argc, const char * argv[])
{
    return 0;
}

当我编译它时,我得到以下三个错误:

  

架构x86_64的未定义符号:
  &#34; boost :: system :: system_category()&#34;,引自:         main_o中的___ cxx_global_var_init.2&#34; boost :: system :: generic_category()&#34;,引自:         在main.o中___cxx_global_var_init         ___ cxx_global_var_init.1 in main.o ld:找不到架构x86_64 clang的符号:错误:链接器命令失败并带有退出代码   1(使用-v查看调用)

然后我在这里添加/usr/local/lib/
构建设置---&gt;链接---&gt;其他链接器标志。
现在我只收到一个错误:

  

ld:无法映射文件,errno = 22 file&#39; / usr / local / lib /&#39;对于建筑   x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v to   见调用)

但是,下面的代码效果很好:

#include <iostream>
#include <boost/version.hpp>

int main(int argc, const char * argv[]) {

    std::cout << "Using Boost "
    << BOOST_VERSION / 100000     << "."  // major version
    << BOOST_VERSION / 100 % 1000 << "."  // minor version
    << BOOST_VERSION % 100                // patch level
    << std::endl;
    return 0;
}

0 个答案:

没有答案