错误:undefined reference to `__gxx_personality_v0' .
2014-03-13 23:43
405 查看
在编译一个基本的MPI程序的时候遇到了错误
程序如下:
名称为:Demo.cpp
然后就遇到了错误提示::undefined reference to `__gxx_personality_v0' .
经查阅资料与尝试,得知
1. * 编译 c++ 程序需要添加 -lstdc++ sample: gcc -lstdc++ -o test test.cpp,否则会报 "undefinedreference to '__gxx_personality_v0'
" 错误
此处如果想用mpicc命令而不报错,那么就应该用: mpicc -lstdc++ -o Demo Demo.cpp 或者直接用mpicxx来编译即可
2. 用gcc命令编译C程序,用g++命令编译C++程序。
g++和gcc本质一样的,本质上还是gcc,我们实验室所有的c++程序都是用gcc编译的,一般的程序用gcc足够了。 对于 C++ 程序,编译的时候用 gcc 或者 g++ 都可以。但是在进行连接的时候最好用 g++,因为用 g++ 会自动进行 C++ 标准库的连接;用 gcc 连接 C++ 程序也可以,但是需要人为指定连接 C++ 标准库,否则就会出现undefined
reference to `__gxx_personality_v/0' 之类的错误。
可见-lstdc++ 所对应的是标准C++库
3. 编译器是如何判断是C++程序还是C程序了,我初步判断是从*.cpp与*.c来判断。我来把原文件名改为Demo.c试试,结果果然不再报错。
4. 编译成功后还出现了另外一个错误,不过错误以前遇到过,好办,请参考以前的文章mpiexec_logon01: cannot connect to local mpd (/tmp/mpd2.console_ycai), 另外还可以参考该文章:mpirun
mpd mpiexec
参考文章:点击打开链接
程序如下:
名称为:Demo.cpp
#include <stdio.h> #include <mpi.h> int main(int argc, char** argv){ int rank; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); printf("Hello, world! I'm rank %d\n", rank); MPI_Finalize(); }我所用编译命令为:mpicc -o Demo Demo.cpp
然后就遇到了错误提示::undefined reference to `__gxx_personality_v0' .
经查阅资料与尝试,得知
1. * 编译 c++ 程序需要添加 -lstdc++ sample: gcc -lstdc++ -o test test.cpp,否则会报 "undefinedreference to '__gxx_personality_v0'
" 错误
此处如果想用mpicc命令而不报错,那么就应该用: mpicc -lstdc++ -o Demo Demo.cpp 或者直接用mpicxx来编译即可
2. 用gcc命令编译C程序,用g++命令编译C++程序。
g++和gcc本质一样的,本质上还是gcc,我们实验室所有的c++程序都是用gcc编译的,一般的程序用gcc足够了。 对于 C++ 程序,编译的时候用 gcc 或者 g++ 都可以。但是在进行连接的时候最好用 g++,因为用 g++ 会自动进行 C++ 标准库的连接;用 gcc 连接 C++ 程序也可以,但是需要人为指定连接 C++ 标准库,否则就会出现undefined
reference to `__gxx_personality_v/0' 之类的错误。
可见-lstdc++ 所对应的是标准C++库
3. 编译器是如何判断是C++程序还是C程序了,我初步判断是从*.cpp与*.c来判断。我来把原文件名改为Demo.c试试,结果果然不再报错。
4. 编译成功后还出现了另外一个错误,不过错误以前遇到过,好办,请参考以前的文章mpiexec_logon01: cannot connect to local mpd (/tmp/mpd2.console_ycai), 另外还可以参考该文章:mpirun
mpd mpiexec
参考文章:点击打开链接
相关文章推荐
- 错误:undefined reference to `__gxx_personality_v0'
- linux 编译错误:undefined reference to `__gxx_personality_v0'
- 编译器错误:/tmp/ccyOgqYQ.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
- 编译器错误:/tmp/ccyOgqYQ.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' collect2: ld r
- undefined reference to `__gxx_personality_sj0'错误解决办法
- 错误:undefined reference to `__gxx_personality_v0' libstdc++-6.dll
- 错误:undefined reference to `__gxx_personality_v0'
- "undefinedreference to '__gxx_personality_v0' " 错误
- gcc编译错误:undefinedreference to '__gxx_personality_v0
- 错误:undefined reference to `__gxx_personality_v0'
- 编译程序出现 undefined reference to `__gxx_personality_v0' 错误
- 编译出现这种错误 undefined reference to '__gxx_personality_v0'
- 编译c文件出现undefined reference to `__gxx_personality_v0'
- 用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0'"问题的解决
- [linux]undefined reference to `__gxx_personality_v0'
- undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
- /tmp/ccY3hmyr.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
- undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit stat
- gcc链接.cpp和.c文件生成的.o库文件的时候,Linking error "undefined reference to `__gxx_personality_v0'"
- "undefined reference to '__gxx_personality_v0' "