1

最近我将犰狳更新到 5.200.1 版本,但是当我尝试使用

g++ -std=c++11 -m64 -O3 -Wall -I. -I/opt/OpenBLAS/include -fopenmp -o code.cpp.o -c code.cpp
g++ -std=c++11 -m64 -O3 -Wall -I. -I/opt/OpenBLAS/include -fopenmp -o main.cpp.o -c main.cpp
g++ -std=c++11 -m64 -O3 -o code.cpp.o main.cpp.o -lgomp -L/opt/OpenBLAS/lib -lopenblas -larmadillo

我在最后的链接步骤中收到错误消息

/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/libarmadillo.so:未定义对“pthread_atfork”的引用

collect2:错误:ld 返回 1 个退出状态

make: *** [a.out] 错误 1

这个错误出现在我使用 Ubuntu 14.04LTS + gcc 4.9.2 的机器上。犰狳本身与 OpenBLAS 0.2.14 链接(我按照犰狳提供的安装程序)

在我的 macosx 笔记本电脑(同一个库)中不会发生这样的错误。这意味着我的 ubuntu 机器有问题。我试图重新安装犰狳 4.650.2(这个版本以前工作过),但同样的错误不断出现(现在旧的不能像以前那样工作)。在更新这些库之前我唯一做的就是我的 ubuntu 机器的“apt-self update”和“apt-self upgrade”

有什么建议可以解决这个问题吗?

4

1 回答 1

1

我也在 Ubuntu Linux 上使用犰狳

当我开始用犰狳编程时,我首先遇到了同样的问题。对于 g++,我只需要添加-larmadillo为命令行选项。像这样

g++ -O2 -o armadillo_example armadillo_example.cpp -larmadillo
于 2015-07-21T10:44:51.817 回答