xuefeng-cvr / LBD_and_LineMatching

81 stars 37 forks source link

TARGET_LINK_LIBRARIES(LineMatchingLib ${OpenCV_LIBS} arpack /usr/lib/x86_64-linux-gnu/libsuperlu.so arpack++) #1

Open jessicajie opened 6 years ago

jessicajie commented 6 years ago

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?

xuefeng-cvr commented 6 years ago

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.

jessicajie commented 6 years ago

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.

xuefeng-cvr commented 6 years ago

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。