【发布时间】:2017-07-06 09:30:31
【问题描述】:
我想通过SSH我所在机构的计算机输入来编译一个程序。我想通过使用不同版本的gcc 和g++ 来编译这个程序,即一个更新的版本,它与默认安装的版本相同。这意味着我不想使用gcc-4.9.2 和g++-4.9.2,而是使用gcc-6.3 和g++-6.3。我可以在我的电脑上找到它们,事实上我有文件夹/opt/gcc-6.3,所以我不必下载它们。所以我要做的是以下
export PATH=/opt/gcc-6.3/bin/:$PATH
export LD_LIBRARY_PATH=/opt/gcc-6.3/lib/:$LD_LIBRARY_PATH
虽然gcc 似乎可以工作,但当我尝试使用g++ 编译c++ 程序时,我得到了
./[name_of_the_program].x: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./[name_of_the_program].x)
./[name_of_the_program].x: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./[name_of_the_program].x)
显然,如果这是相关信息,我不是这台机器上的root。
【问题讨论】:
-
在影响 C++ 代码的 GCC 版本 5 中进行了重大的重大更改。见the online manual about the Dual ABI"。
标签: c++ gcc compiler-errors g++