2011-08-17 38 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