Linux 无法在libpca中编译示例代码
我正在尝试安装软件包。 我已经准备好犰狳了 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
/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