2011-08-17 95 views
0

我想编译一个使用alglib函数pearsoncorr2的程序。alglib undefined参考编译错误

不幸的是我总是编译错误如下所示:

未定义的参考`alglib :: real_1d_array :: real_1d_array()”

我知道,我必须编译alglib单元的所有依赖其中包含我想要使用的功能。在我的情况下,它是statistics.h。 编译我的程序时,我包含了所有必需的文件(ap.h,statistics.h,alglibinternal.h,alglibmisc.h,linalg.h,specialfunctions.h),但仍然收到这些未定义的引用错误。

我在linux上使用g ++。

我在做什么错?

在此先感谢。

回答

0

您还需要在最终链接行中包含二进制部分 - 即*.o文件或*.so库文件。因此,例如,您可能需要链接linalg.o

+0

我没有o文件。我试图编译属于上面提到的h文件的cpp文件,但那是行不通的。 – Jenia

+0

我从来没有使用'alglib',但我快速浏览了网站。他们似乎认为使用这个库的一种常见方式是将他们的'* .cpp'文件添加(一些)到您的项目中,并将它们与源一起编译;其中一个文件定义了缺少的构造函数(大概别人定义了其他需要的东西)。你是什么意思,它不起作用? –

+0

我已经在我的主要来源中包含了各自的h文件作为标题。所以在我编译我的主要源代码时应该编译它们。或者我错过了什么? – Jenia

0

Alglib在使用它之前需要编译所有13个cpp文件。

我有CMakeList.txt来关心我所有的依赖关系。

+1

更精确? – Daenarys