alglib未定义引用编译错误
我正在尝试编译一个使用 alglib 函数 pearsoncorr2 的程序。
不幸的是,我总是遇到如下编译错误:
undefined reference to `alglib::real_1d_array::real_1d_array()'
我知道我必须编译包含我想要使用的函数的 alglib 单元的所有依赖项。就我而言,它是statistics.h。 我在编译程序时包含了所有必要的文件(ap.h、statistics.h、alglibinternal.h、alglibmisc.h、linalg.h、specialfunctions.h),但仍然收到这些未定义的引用错误。
我在 Linux 上使用 g++。
我做错了什么?
提前致谢。
I'm trying to compile a program which uses the alglib function pearsoncorr2.
Unfortunately I always get compilation errors like the following:
undefined reference to `alglib::real_1d_array::real_1d_array()'
I know that I have to compile all the dependencies of the alglib unit which contains the function I want to use. In my case it's statistics.h.
I'm including all the necessary files (ap.h, statistics.h, alglibinternal.h, alglibmisc.h, linalg.h, specialfunctions.h) when compiling my program, but still I get these undefined reference errors.
I'm using g++ on linux.
What am I doing wrong?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您还需要在最终链接行中包含二进制部分,即
*.o
文件或*.so
库文件。例如,您可能需要链接到linalg.o
。You also need to include the binary part -- i.e., either the
*.o
files or the*.so
library file -- on your final link line. So for example, you probably need to link withlinalg.o
.Alglib在使用之前需要编译全部13个cpp文件。
我有 CMakeList.txt 来为我处理所有依赖项。
Alglib needs to compile all 13 cpp files before using it.
I have CMakeList.txt to tare care all the dependencies for me.