- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的代码是用 c++2011 编写的,用 g++4.8 编译的。但是,我的系统管理员不会从 gcc/g++ 4.1 升级计算集群。我收到以下错误:
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./ManRegOptDes)/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by ./ManRegOptDes)/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./ManRegOptDes)/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./ManRegOptDes)/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.13' not found (required by ./ManRegOptDes)/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ./ManRegOptDes)/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.3' not found (required by /lib/intel/tbb/lib/intel64/gcc4.4/libtbb.so.2)
是否可以将 gcc/g++ 4.8 版本的 libc.so.6、libstdc++.so.6 复制到集群上我的用户目录,以便我的程序动态链接到它们?如果是这样,我要设置哪个环境变量以便我的可执行文件可以动态链接到它们?
谢谢。
最佳答案
Can you copy these files?
是的。对象库是与其他任何文件一样的普通文件。当然,当系统管理员允许它们可用时,您最终会希望连接到官方库。
对象库有两种形式…….a(存档)和 .so(共享对象)如果您将它们都复制到同一个个人目录,gcc 链接器将默认选择 .so 而不是 .a。
if so, which environment variable(s) to i set [sic]
我认为您不必担心标准的 LIBRARY_PATH 或 PATH 条目,直到您需要交付,或者直到 lib64 变得“正式”可用。解开临时路径修改等是否比执行以下操作更难?
将你想要的库复制到你自己的目录中,也许
/home/uname/my_lib64
成为
添加
到你的“最终”编译命令,让 gcc-linker 知道它可以在哪里寻找库。
并添加
“最终”编译命令让 gcc 编译器知道它应该找到哪些库名称并搜索未解析的符号。
抱歉,我无法在我的机器上测试它。如果您遇到问题,我似乎记得使用相对路径名(而不是绝对路径)到您的库所在的目录。当我看时,这似乎是我当时所做的,但这可能是使相对路径有用的其他目标。
我也这样做了,您可能希望将目标添加到您的 make 文件中,以确保您链接到的 .a 或 .so 是最新的 w.r.t 您在代码中#include 的头文件库。我的 makefile 只是调用一个 cp 将最新的库放入 my_lib64 中。当我的系统管理员与我的目标合作时,协调库和 header 更新是我希望他们做的事情之一。
最后...确保您#include 的头文件是正确的。要检查,请将 -H 添加到您的编译中,并仔细阅读每个构建中触发读取的文件名和路径。
我想这样做会比较麻烦,但您可以使用与系统管理员暴政类似的解决方法,并将最新版本的 header 复制到您自己的目录中。但现在你会比我想做的更努力一些。通常,当您安装更新版本的编译器时,它会附带相应的 header 和库。
祝你好运。
关于c++ - 如何在旧版本的 gcc 系统上动态链接到 libc.so.6、libstdc++.so.6 的本地拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056646/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!