在Linux上为ArrayFire设置Eclipse

时间:2016-05-18 15:32:12

标签: c++ eclipse arrayfire

我正在尝试在Ubuntu 14.04上设置Eclipse(Mars 2.0),以便使用ArrayFire实用程序编译和运行C / C ++应用程序。我已经在/ opt / ARRAYFIRE / arrayfire-3中的计算机上安装了ArrayFire,我首先尝试使用Eclipse来测试ArrayFire的性能。

我创建了一个简单的C ++测试代码:

#include <iostream>
#include <arrayfire.h>

using namespace af;
using namespace std;

int main() {

    const int N = 5;
    int nBytes = N * sizeof(int);
    int hostarr[N] = {3,1,4,1,5};
    float f[8] = {1,2,4,8,16,32,64,128};

    af::array aux(2,4,f);

    cout << "Well done!!!" << endl;
    return 0;
}

我遵循了ArrayFire的所有安装说明(包括先决条件)。然后,我在Eclipse项目C / C ++ Build Settings上设置了ArrayFire头文件“include”( - l)和库“lib”( - L)安装目录路径:

对于我的具体案例:

  • 在GCC C ++编译器中 - &gt;包括:/ opt / ARRAYFIRE / arrayfire-3 / include
  • 在GCC C编译器中 - &gt;包括:/ opt / ARRAYFIRE / arrayfire-3 / include
  • 在GCC C ++链接器中 - &gt;库:/ opt / ARRAYFIRE / arrayfire-3 / lib

这是我一直为新的lib做的正常程序。但是,当我尝试使用gcc编译时,下一个错误发生了:

Invoking: GCC C++ Linker
g++ -L/opt/AMDAPPSDK-3.0/lib -L/opt/ARRAYFIRE/arrayfire-3/lib -o "classifier"  ./src/classifier.o   -lOpenCL
./src/classifier.o: En la función `main':
/home/ECLIPSE/classifier/Debug/../src/classifier.cpp:23: referencia a `af::array::array<float>(long long, long long, float const*, af_source)' sin definir
/home/ECLIPSE/classifier/Debug/../src/classifier.cpp:26: referencia a `af::array::~array()' sin definir
/home/ECLIPSE/classifier/Debug/../src/classifier.cpp:26: referencia a `af::array::~array()' sin definir
collect2: error: ld devolvió el estado de salida 1

(抱歉西班牙语)“sin definir”=未定义。

我知道标题链接良好,因为我可以看到声明和编译器工作正常,但链接器失败。

有没有人知道可能是什么问题或发生了什么?

0 个答案:

没有答案