【发布时间】:2011-10-13 15:52:42
【问题描述】:
我写了一个并行代码,我可以编译它并在win7下运行它,但现在我必须在linux ubuntu 11.04下运行它,当我编译我的代码时,我得到了这个错误:
usr/bin/ld : 找不到 -lcr
collect2:ld 返回 1 个退出状态
我的编译器是 mpicxx,我使用 mpich2。 我的代码大约有 3000 行,但我使用以下代码进行测试
#include <iostream>
#include <mpi.h>
using namespace std;
int main(int argc, char ** argv){
int mynode, totalnodes;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD, &totalnodes);
MPI_Comm_rank(MPI_COMM_WORLD, &mynode);
cout << "Hello world from process " << mynode;
cout << " of " << totalnodes << endl;
MPI_Finalize();
}
我使用这个命令编译它mpicxx hello.cpp
【问题讨论】:
-
cr库是什么,为什么要链接到它? -
我只是在我的代码中使用了 mpi.h math.h fstream 和 iostream 库
-
在您(或您的
Makefile)将-lcr添加到LDFLAGS的地方发布您的链接行。 -
我不是程序员,我是物理学硕士,我该怎么办,请一步一步说。谢谢
-
我们不是读心者,你必须帮助我们帮助你。您的问题是链接器 (
/usr/bin/ld) 告诉您它找不到您指示它链接的库。您尚未提供有关 Ubuntu Linux 11.04 之外的环境的任何详细信息。用你如何构建你的程序来更新你的问题会很有帮助。使用正确的标点符号、大写字母等也会吸引更多对您的问题的回答。
标签: c++ compiler-errors mpi