【问题标题】:parallel program compiling error并行程序编译错误
【发布时间】: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


【解决方案1】:

usr/bin/ld :cannot find -lcr

shows 周围搜索cr 库由Berkeley Lab Checkpoint Restart (BLCR) 包提供。我认为您需要安装它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多