为了账号安全,请及时绑定邮箱和手机立即绑定

无法在libpca中编译示例代码

无法在libpca中编译示例代码

心有法竹 2021-04-02 14:10:01
我正在尝试安装libpca软件包。我已经设置了犰狳。libpca软件包已解压缩到/my/dir/。然后将CPLUS_INCLUDE_PATH和其他变量设置到Armadillo的安装位置。(export CPLUS_INCLUDE_PATH=/my/dir/arma_install/include/:$CPLUS_INCLUDE_PATH)我运行以下命令来安装libpca:/my/dir/libpca-1.3.3$  ./configure --prefix=/my/dir/libpca-1.3.3/my/dir/libpca-1.3.3$  make有警告但没有错误。和命令:/my/dir/libpca-1.3.3$  make install prefix=/my/dir/libpca-1.3.3看起来不错,没有错误报告。然后,我尝试在中编译并运行示例文件/my/dir/libpca-1.3.3/examples/simple/pca_example.cpp。在dir中examples,我运行/my/dir/libpca-1.3.3/examples$  make它返回make [1]:“全部”不做任何事情make [1]:“上午”一无所获并且没有创建新文件。然后我进入examples/simple并运行/my/dir/libpca-1.3.3/examples/simple$  make它返回:make:“全部”无所事事并且没有创建新文件。然后我跑/my/dir/libpca-1.3.3/examples/simple$  make check它返回以下错误:变量wrapper_dsyev_,wrapper_dgemv_,wrapper_dgemm_等。在上述的错误,存在以下的二进制文件:/my/dir/arma_install/lib64/libarmadillo.so.8.500.0/my/dir/arma_downloaded/CMakeFiles/armadillo.dir/src/wrapper.cpp.o/my/dir/arma_downloaded/CMakeFiles/CMakeRelink.dir/libarmadillo.so.8.500.0将export它们放入后LD_LIBRARY_PATH,仍然会返回相同的错误。我认为include路径和环境变量应该有问题。我该如何解决?此外,如果需要在中编写代码/my/dir/working_dir/,该如何设置路径?
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

您需要告诉链接程序您犰狳库的位置。您可以通过两种方式实现此目的:

  1. 通过环境变量: export LIBRARY_PATH=/arma/lib:$LIBRARY_PATH

  2. 传递armadillo include和库路径以直接配置: ./configure --with-armadillo-incdir=/arma/include --with-armadillo-libdir=/arma/lib

我建议您使用选项2,因为它会阻止设置额外的环境变量,这可能会污染您的环境。

请注意,它--prefix表示将libpca安装到的目录。这应该与源目录不同!

配置之后,你可以运行makemake check以及make install。为了make check成功,Linux库加载器需要知道armadillo共享库的位置。因此,一种选择是像这样运行:LD_LIBRARY_PATH=/arma/lib make check

总结一下您需要运行的命令:

  1. ./configure --prefix=/libpca/install --with-armadillo-incdir=/arma/include --with-armadillo-libdir=/arma/lib

  2. make

  3. LD_LIBRARY_PATH=/arma/lib make check

  4. make install

显然,您需要根据情况调整路径。

注意:在某些平台上,您需要显式链接lapack和blas。因此,如果遇到其他链接器错误,请尝试按以下方式进行配置: LIBS='-llapack -lblas' ./configure --prefix=/libpca/install --with-armadillo-incdir=/arma/include --with-armadillo-libdir=/arma/lib


查看完整回答
反对 回复 2021-04-16
  • 1 回答
  • 0 关注
  • 261 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信