我正在将ParMetis 4.0.3安装到一个非默认目录中,其中包含:

make config prefix=/My-ParMETIS-Directory/

然后:
make install

之后,我在该文件夹中获得了一组目录。为了编写一个使用它的程序,我应该在标题中添加“include“parmetis.h”,并添加“libraries / binaries”。后者我该怎么做?

我只是想让我的代码现在可以编译,因此我运行:
g++ test.cpp

这是test.cpp:
#include<iostream>
#include "include/parmetis.h"

using std::cout;
using std::endl;

int main()
{
    cout << "Test!" << endl;
    return 0;
}

对于parmetis.h中的所有内容/每行,我一直得到“未在此范围内声明”。

如何获得test.cpp使用已安装的其他文件夹/文件?

最佳答案

您需要提供ParMetis库的位置,以
编译器,因为您已选择安装该库
不在默认库目录中。

mpic++ test.cpp -I /My-ParMETIS-Directory/ -I /My-METIS-Directory/

编辑#2:

我做了什么来使您的代码编译:
  • 从网页将ParMetis库下载到 / tmp
    cd /tmp/
    wget http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz
    
  • 解压缩文件
    tar -xf parmetis-4.0.3.tar.gz
    
  • 将ParMETIS安装到目录 / tmp / parmetis
    mkdir parmetis
    cd parmetis-4.0.3/
    make config prefix=/tmp/parmetis
    make install
    
  • 将METIS安装到目录 / tmp / metis
    cd /tmp/
    mkdir metis
    cd parmetis-4.0.3/metis
    make config prefix=/tmp/metis
    make install
    
  • 编译位于/ tmp /中的 test.cpp
    cd /tmp/
    mpic++ test.cpp -I /tmp/parmetis -I /tmp/metis
    
  • 08-25 08:18