2

目前我是 C++ 的初学者。我正在用 linux (chakra linux) 编写程序,但遇到以下问题:

我需要使用 C++11 的一些特性,所以我编译为c++ -std=c++11 test.cpp,它在我的笔记本电脑上运行良好。然后我把a.out文件上传到我的大学集群中,我尝试运行它,但我收到了消息

./a.out: /usr/lib64/libstdc++.so.6: 找不到版本“GLIBCXX_3.4.17”(./a.out 需要)
./a.out: /usr/lib64/libstdc++.so.6: 找不到版本“GLIBCXX_3.4.13”(./a.out 需要)

在互联网上查找似乎解决方法是在我的笔记本电脑中编译为

c++ -std=c++11 test.cpp -static-libstdc++ -static-libgcc

然后尝试在集群中运行代码。我确实尝试过并收到了消息

./a.out: /lib64/libc.so.6: 找不到版本“GLIBC_2.14”(./a.out 需要)

我也尝试在集群中编译,但是不行,我认为这与集群编译器是gcc 4.3.2或intel icpc (ICC) 13.1.1有关

我想知道是否有任何方法可以解决这个问题,或者我做错了什么

提前致谢

4

0 回答 0