【问题标题】:ld: library not found for -lboost_system clang: error: linker command failed with exit code 1 (use -v to see invocation)ld:找不到 -lboost_system 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
【发布时间】:2013-03-28 21:52:06
【问题描述】:

在尝试了几种解决方案后,我想我需要一些帮助来了解如何为 Mac OSX Lion 正确构建 Boost,在 XCode 4 上构建跨平台应用程序但没有成功 =s

我已遵循this 指南。并依次执行以下命令:

cd /Users/me/Documents/boost_1_53_0
./bootstrap.sh --prefix=installation
cd /Users/me/Documents/boost_1_53_0/tools/build/v2
./bootstrap.sh
./b2 install --prefix=installation
export PATH=$PATH:installation/bin
cd /Users/me/Documents/boost_1_53_0
./b2 --build-dir=installation toolset=darwin cxxflags="-arch i386" address-model=32 architecture=x86 stage

在尝试在 XCode 上编译应用程序后,我收到了问题标题中的错误,并进行了以下编辑:

将这些库添加到“Build Phases”下的“Link Binary With Libraries”中:

libboost_filesystem.dylib
libboost_system.dylib

并在标头和库搜索路径中添加了“$(SRCROOT)/../boost_1_53_0”。

在 Stackoverflow 上查看其他一些问题,很多人似乎使用 makefile 构建提升,并在 makefile 中传递诸如 LDFLAGS=-L/opt/local/lib 之类的东西;

在哪里可以找到构建 boost 的好教程或示例?我没有制作自己的 makefile 的经验,尽管我在这里和那里进行了一些简单的编辑。

【问题讨论】:

  • 你想用cxxflags="-arch i386"做什么?
  • 您发布的步骤用于构建 Boost,而标题似乎是尝试使用 Boost 库的链接器错误。那么你的问题是什么?您在构建或使用 Boost 库时遇到问题吗?
  • @Praetorian 那是我使用这些选项构建的 boost 导致的错误,我想知道构建 boost 并将其与 Xcode 一起使用的通用过程是什么样的。
  • @SamMiller 在查看了这里的其他几个问题之后,我尝试使用该标志进行构建,我是否走错了路? =s
  • 很难说你走错了路,你的问题不清楚。如果您正在尝试构建 32 位版本的 boost 库,那么您所做的是正确的。

标签: c++ macos boost


【解决方案1】:

检查你的 boost dylib 在哪里。可能是在“$(SRCROOT)/../boost_1_53_0”中的某个中间目录下?例如“$(SRCROOT)/../boost_1_53_0/lib”。如果是这样,请将整个路径添加到构建设置中的“库搜索路径”。
顺便问一下:您确定要动态链接而不是静态链接吗?

【讨论】:

  • 我也尝试为每个标题和库搜索路径指定路径,希望这是问题所在,然后由于不确定性,我默认回到根路径。我想静态链接,但找不到其他选择,你能给我举个例子吗?
  • 这与标题路径无关,只是库搜索路径。现在要静态链接,您需要静态编译 boost(即在运行 b2 时添加 link=static attr)请参阅 boost.2283326.n4.nabble.com/… 了解一些想法(扫描整个线程 - 它很有帮助)。之后你应该有带有 .a 扩展名的库,添加它们而不是 dylibs。
  • 似乎我有点不知所措,我也许应该问“如何为 iPhone 构建和编译 Boost”而不是错误,这可能是编译不正确的结果 =s
  • 你不应该问这个,已经有这样的问题了:stackoverflow.com/questions/1577838/…
  • 你也可以看看danielsefton.com/2012/03/…是比较新的
猜你喜欢
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多