Linux 无法在libpca中编译示例代码

Linux 无法在libpca中编译示例代码,linux,gcc,dll,environment-variables,undefined-reference,Linux,Gcc,Dll,Environment Variables,Undefined Reference,我正在尝试安装软件包。 我已经准备好犰狳了 libpca包解压缩到/my/dir/。我将CPLUS\u INCLUDE\u PATH和其他变量设置为Armadillo安装的位置。(export CPLUS\u INCLUDE\u PATH=/my/dir/arma\u install/INCLUDE/:$CPLUS\u INCLUDE\u PATH) 我运行以下命令来安装libpca: /my/dir/libpca-1.3.3$ ./configure --prefix=/my/dir/lib

我正在尝试安装软件包。 我已经准备好犰狳了

libpca包解压缩到
/my/dir/
。我将
CPLUS\u INCLUDE\u PATH
和其他变量设置为Armadillo安装的位置。(
export CPLUS\u INCLUDE\u PATH=/my/dir/arma\u install/INCLUDE/:$CPLUS\u INCLUDE\u 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
示例中,我运行

/my/dir/libpca-1.3.3/examples$  make
它回来了

make[1]:对“所有”都不做任何事情

make[1]:对“所有am”都不做任何事情

并且不会创建新文件。然后我将cd放入
examples/simple
,然后运行

/my/dir/libpca-1.3.3/examples/simple$  make
它返回:

make:对“所有”都不做任何事情

并且不会创建新文件。然后我就跑

/my/dir/libpca-1.3.3/examples/simple$  make check
它返回以下错误:

上述错误中的变量
wrapper\u dsyev\u
wrapper\u dgemv\u
wrapper\u dgemm\u
等存在于以下二进制文件中:

/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
在我
将它们导出到
LD\u LIBRARY\u PATH
之后,仍然会返回相同的错误

我认为include路径和环境变量应该有问题。我如何解决它

此外,如果我需要在
/my/dir/working\u dir/
中编写代码,如何设置路径

----------------------------------编辑如下--------------------

当我在第3步进行如下所述的更新时:

/my/dir/libpca-1.3.3$ LD_LIBRARY_PATH=/my/dir/arma_install/lib64 make check
它返回以下错误:

LD_LIBRARY_PATH=/my/dir/arma_install/lib64/make check

在src/lib中进行签入

make[1]:输入目录“/my/dir/libpca-1.3.3/src/lib”

make[1]:离开目录“/my/dir/libpca-1.3.3/src/lib”

办理登机手续

make[1]:输入目录“/my/dir/libpca-1.3.3/test”

进行单元测试

make[2]:输入目录“/my/dir/libpca-1.3.3/test”

/bin/sh../libtool--tag=CXX--mode=link g++-I../src/lib
-pthread-O2-o unittest main.o testcases.o test_pca.o test_utils.o../src/lib/.libs/libpca.a-L/my/dir/source_scripts/lib64

libtool:link:g++-I../src/lib-pthread-O2-o unittest main.o testcases.o test_pca.o test_utils.o../src/lib/.libs/libpca.a -L/my/dir/arma_安装/lib64-pthread

测试工具:在函数“void arma::glue\u times::apply,arma::Mat”中

(arma::Mat&,arma::Mat const&,arma::Mat const&,double):

测试实用程序cpp:(.text.hot.\u ZN4arma10glue\u times 5 Applyidlb1elb0elb1ens\u 3atides3\u EEvRNS2\u EERKT3\u RKT4\u S4\u[\u ZN4arma10glue\u times 5 Applyidlb1elb0elb0elb1ens\u EEvRNS2\u IT\u rkt3\u S4\u169]: 对“包装器”的未定义引用

测试实用程序cpp:(.text.hot.\u ZN4arma10glue\u times 5 Applyidlb1elb0elb1ens\u 3atides3\u EEvRNS2\u EERKT3\u RKT4\u S4\u[\u ZN4arma10glue\u times 5 Applyidlb1elb0elb0elb1ens\u EEvRNS2\u IT\u RKT3\u S4\u363]: 对“包装器”的未定义引用

测试实用程序cpp:(.text.hot.\u ZN4arma10glue\u times 5 Applyidlb1elb0elb1ens\u 3atides3\u EEvRNS2\u EERKT3\u RKT4\u S4\u[\u ZN4arma10glue\u times 5 Applyidlb1elb0elb0elb1ens\u EEvRNS2\u IT\u RKT3\u S4\u+0x45c): 对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):函数中 `统计信息::pca::自举特征值“:

pca.cpp:(.text+0x454d):对“包装器”的未定义引用

pca.cpp:(.text+0x4953):对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):在函数'bool'中 arma::auxlib::eig\u sym\u dc

(arma::Col&,arma::Mat&,arma::Base>const&)':

pca.cpp:(.text.(文本.)ArmamLib10Eig(符号)dcIdNS(符号)dcIdNS(字符)2(字符)2(字符)2(字符(字符)字符)字符)字符(字符)字符)字符 对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):在函数'bool'中 arma::eig_sym

(arma::Col::pod_type>&,arma::Mat::elem_type>&, arma::Base::elem_类型,arma::Mat>const&, 字符常量*, arma::仅arma\U blas\U类型::元素类型>::结果 常数*)':

PCPCP.cpp:(.文。文。文。研究4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4(文)4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4(文。4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 0): 对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):在函数'double'中 arma::auxlib::det_lapack(arma::Mat const&,bool)':

pca.cpp:(.text.(ZN4arma6auxlib10det_lapackIdEET_RKNS_3MatIS2_EEb)[ZN4arma6auxlib10det_lapackIdEET_RKNS_3MatIS2_EEb]+0x117): 对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):在函数'void arma::gemv::apply_blas_type>(double*)中, arma::材料常数和双常数*,双常数,双常数):

pca.cpp:(.text.(文本.)arma4gembillb1elb0ee15apply_blas_typeIdNS_3atideeevpt_RKT0_PKS5_S5_S5_[)zn4arma4gembillb1elb0ee15apply_blas_typeIdNS_RKT0_PKS5_S5_S5]0x86): 对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):在函数'void arma::gemv::apply_blas_type>(double*)中, arma::材料常数和双常数*,双常数,双常数):

pca.cpp:(.text.(文本.)Arma4GemVilb0Elb0EE15应用(blas)类型IDNs(RKT0)(PKS5)(UZn4Arma4GemVilb0Elb0EE15应用)类型IDNs(RKT0)(PKS5)(S5)应用(blas)类型IDNs(RKT0 41 对“包装器”的未定义引用

../src/lib/.libs/libpca.a(pca.o):在函数'void'中 arma::粘合时间::应用,arma::Mat>(arma::Mat&, arma::Mat const&,arma::Mat const&,double