目前我是 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有关
我想知道是否有任何方法可以解决这个问题,或者我做错了什么
提前致谢