LBD_and_LineMatching
LBD_and_LineMatching copied to clipboard
TARGET_LINK_LIBRARIES(LineMatchingLib ${OpenCV_LIBS} arpack /usr/lib/x86_64-linux-gnu/libsuperlu.so arpack++)
hello! I have a question to ask you, I hope you can help me solve it. in CMakelists.txt: TARGET_LINK_LIBRARIES(LineMatchingLib ${OpenCV_LIBS} arpack /usr/lib/x86_64-linux-gnu/libsuperlu.so arpack++) Can you explain the meaning of this sentence ? An error occurred during the execution of this sentence.I have installed ARPACK, according to https://github.com/m-reuter/arpackpp. In the installation process, I only installed dependencies, LAPACK, BLAS, and ARPACK. I want to know how you installed the dependency SuperLU?Does it must be installed?
Thanks for your question, before you Build "LineMatchingLib", you have to install "libsuperlu", the original code contains this LIB, and when I remove this sentence, the step of Linking would be error, so I consider the code of matching depend on this library.
You can install this lib through "sudo apt-get install libsuperlu-dev" on your Ubuntu.
I follow your installation, but find:
$ sudo apt-get install libsuperlu-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libsuperlu-dev
my ubuntu version is 14.04,so I tried to download and install, but I didn't know how to connect to this library"LineMatchingLib"?
I download and install: [SuperLU (Version 5.2.x)] --- https://github.com/xiaoyeli/superlu 我使用CMake安装: mkdir build cd build cmake .. make sudo make install 结果: libblas.a libsuperlu.a libmatgen.a
/usr/local/lib/libsuperlu.a /usr/local/lib/pkgconfig/superlu.pc /usr/local/include/supermatrix.h /usr/local/include/slu_Cnames.h /usr/local/include/slu_dcomplex.h /usr/local/include/slu_scomplex.h /usr/local/include/slu_util.h /usr/local/include/superlu_enum_consts.h /usr/local/include/slu_sdefs.h /usr/local/include/slu_ddefs.h /usr/local/include/slu_cdefs.h /usr/local/include/slu_zdefs.h
Thank you very much! I hope you give us some advice.
My Ubuntu version is 16.04
when you use libsuperlu.a, it would be some trouble, the terminal may shows that you have to use shared library, so you have to build a shared library, not static library.
if you installed libsuperlu,just use “TARGET_LINK_LIBRARIES(LineMatchingLib ${OpenCV_LIBS} arpack /usr/local/lib/libsuperlu.so arpack++)” as the CMakeList.txt shows,then when the LineMatchingLib built,it will link libsuperlu.so。
And use “TARGET_LINK_LIBRARIES(Test_Single_LMA LineMatchingLib ${OpenCV_LIBS})” as the CMakeList.txt shows,then when the Test_Single_LMA built,it will link LineMatchingLib。