c++ 11和静态库,链接到libstdc++
C++11 and static library that is linked against libstdc++
我有一个C和c++的静态库。问题是库是指向libstdc++
的。
在Xcode中,当我切换到libc++
(使用c++ 11功能并使用提到的c++库)时,它会抛出许多编译错误。
标准库的作者说标准库还没有为c++ 11做好准备。
还有办法同时使用吗?
您的第三方静态库应该与编译时使用的c++库的相同版本相链接。这不仅包括库的类型(libstdc++),还包括确保ABI兼容性的主要/次要版本号。在最好的情况下,任何不同的库版本都会导致构建中断,或者在最坏的情况下导致奇怪的崩溃。在GCC手册中阅读更多关于ABI版本控制的信息。
如果第三方库的接口只有POD类型,你可以从你的静态库中创建一个共享库,然后在libc++链接的应用程序中使用它。
相关文章:
- 为什么C++可执行文件在与较新的libstdc++.so链接时运行得更快?
- 当其他链接库链接 stdc++ 为动态时,如何将 libstdc++ 链接设置为静态?
- 如何使用LLVM LLD链接libstdc++
- I686-ELF的跨编译和链接libstdc (在Ubuntu上使用G 16.04)
- 如何使用libc libstdc 混合的链接库
- 将libstdc 静态链接起来是一个很好的做法
- 'libstdc++'库的链接在嵌入式 Linux 中被破坏
- Eclipse CDT链接选项-静态libgcc-静态libstdc++不影响Windows上的行为
- 获取指向成员std::string::size的指针无法与libc++链接,但可以与libstdc++一起使用
- 我有libstdc++6-dev,但仍然有stl链接错误
- CodeBlocks:如何动态链接libstdc++
- 使用clang的静态链接libstdc++
- 与使用 GCC 3.4.6 (libstdc++.so.6.0.13) 生成的 gmock 库链接会产生"undefined reference to... @GLIBCXX_3.4.9"错误
- 在动态链接库libstdc++-6.dll中找不到过程入口点_gxx_personality_v0.错误
- 如何链接GCC中的libc和libstdc++的调试版本
- 从源代码构建GCC 5.4;这样构建的可执行文件试图链接不兼容的libstdc++,但运行失败
- CentOS 5.8与gcc 4.4.7链接libstdc++ 6.0.8.这怎么可能
- 在动态链接库libstdc++-6.dll中无法找到过程入口点_gxx_personality_v0
- 如何静态链接libstdc++
- 在 RHEL 5.7 上链接 libstdc++ 问题