我使用的是英特尔的C++编译器,它在Linux上依赖于GNU提供的libc.so和libstdc++.so。
这就是我的问题。要使用一些最新的C++11功能,我需要使用与GCC 4.7或更高版本一起提供的libstdc++。但我还是坚持使用CentOS 6.4。
在CentOS 6.4上,GCC的原生版本是4.4。但是使用一个名为"SCL“的开发工具集和一个名为”RedHat -1.1“的包,我能够在"/opt”下安装GCC 4.7。
我按照上面提到的方式设置了使用GCC 4.7,我可以使用更新的C++11功能。
所以我的问题是:如果用户运行我的程序时,库路径中只有libc.so / libstdc++.so的GCC 4.4版本,那么我的程序会不会因为这些库的4.4和4.7版本之间的不匹配而出现错误呢?
如果有一个潜在的问题,我可以通过静态链接来解决这个问题吗,在GCC 4.7的libc和libstdc++版本中?或者,如果我的代码动态加载的其他库使用系统范围的GCC 4.4包提供的较旧的libc / libstdc++,这是否会给自己带来其他问题?
https://stackoverflow.com/questions/15599714
复制相似问题