gpt4 book ai didi

xcode - "bad codegen, pointer diff in boost"32 位构建错误

转载 作者:行者123 更新时间:2023-12-04 17:12:45 24 4
gpt4 key购买 nike

在 Mac OS X 10.6 下,我正在构建一个链接到 boost 1.46 的 C++ 共享库。我正在使用随 Xcode 4.0 安装的命令行工具。

64 位构建工作正常。为 32 位构建时,我在链接时收到以下错误消息:

ld: bad codegen, pointer diff in boost::detail::sp_counted_base::sp_counted_base()to global weak symbol vtable for boost::detail::sp_counted_basefor architecture i386

我发现的唯一解决方法是对 32 位构建使用 g++-4.0。我尝试过的其他编译器(g++-4.2、llvm-g++-4.2 和 clang++)都会产生上述错误。

最佳答案

问题很可能是您将两个具有不同默认可见性值 (-fvisibility) 的库静态链接在一起。您可以确保为 boost 和您的项目使用相同的可见性标志,或者使用显式导出符号文件。

关于xcode - "bad codegen, pointer diff in boost"32 位构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com