Как добавить необходимые библиотеки к этому определенному Make-файлу?

Я пытаюсь выполнить некоторый код, который требует openCV. Проблема - то, что, чтобы скомпилировать этот код и добавить определенные openCV опции мне нужно, я должен добавить те библиотеки к данному Make-файлу. Я знаю, что при компиляции моего openCV кодируют через командную строку, которую я могу просто сделать

g ++ opencv.cpp-lopencv_core-lopencv_imgproc-lopencv_highgui-o opencv

(Или некоторый небольшой вариант также)

Теперь, когда у меня есть этот Make-файл, я немного потерян о том, где точно я должен добавить

-lopencv_core -lopencv_imgproc -lopencv_highgui

Мое предположение - то, что некоторые из тех трех могли бы уже быть связаны, но не все три из них.

Кто-то мог выручить меня?

Рассматриваемый Make-файл: http://paste.ubuntu.com/25192259/ Или я должны изменить исходный файл CMakeLists.txt?

источник: https://github.com/patrikhuber/eos

Спасибо!

Править:

На самом деле по некоторым причинам это не находит, что они освобождают. Когда я компилирую свой код, я получаю набор соединения ошибок "неопределенная ссылка xyz". Поскольку я должен добавить, что те 3 освобождают так или иначе. Каждый раз, когда я пишу код openCV для другого проекта, я всегда компилирую его из командной строки и добавляю весь depencencies/libs/... вручную.

До сих пор я также попытался изменить использование CMakeCache.txt:

cmake-DCMAKE_EXE_LINKER_FLAGS = "-lopencv_core-lopencv_imgproc-lopencv_highgui"../Эос

результат:

yalishanda@yalishanda-thinkpad-x200:~/Desktop/John/1/2/software/computerVision/myTests/2/build$ cmake -DCMAKE_EXE_LINKER_FLAGS="-lopencv_core -lopencv_imgproc -lopencv_highgui" ../eos
cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by cmake)
-- Options:
-- EOS_BUILD_EXAMPLES: ON
-- EOS_BUILD_CERES_EXAMPLE: OFF
-- EOS_BUILD_UTILS: OFF
-- EOS_BUILD_DOCUMENTATION: OFF
-- EOS_GENERATE_PYTHON_BINDINGS: OFF
-- EOS_GENERATE_MATLAB_BINDINGS: OFF
-- Found OpenCV: /usr/local (found version "3.2.0") found components:  core 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
-- Boost found at /usr/include
-- Eigen3 found: TRUE, version: 3.3.3
-- Eigen3 include dir found at /home/yalishanda/Desktop/John/1/2/software/computerVision/myTests/2/eos/3rdparty/eigen
-- OpenCV 3.x detected - including imgcodecs for compatibility
-- Found OpenCV: /usr/local (found suitable version "3.2.0", minimum required is "3") found components:  core imgproc imgcodecs 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
-- Boost found at /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yalishanda/Desktop/John/1/2/software/computerVision/myTests/2/build
yalishanda@yalishanda-thinkpad-x200:~/Desktop/John/1/2/software/computerVision/myTests/2/build$ make
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 25%] Linking CXX executable myFaceFit
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
CMakeFiles/myFaceFit.dir/myFaceFit.cpp.o: In function `main':
myFaceFit.cpp:(.text+0x20da): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'
myFaceFit.cpp:(.text+0x2102): undefined reference to `cv::waitKey(int)'
collect2: error: ld returned 1 exit status
examples/CMakeFiles/myFaceFit.dir/build.make:100: recipe for target 'examples/myFaceFit' failed
make[2]: *** [examples/myFaceFit] Error 1
CMakeFiles/Makefile2:119: recipe for target 'examples/CMakeFiles/myFaceFit.dir/all' failed
make[1]: *** [examples/CMakeFiles/myFaceFit.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

и

CMAKE_SHARED_LINKER_FLAGS также:

$ cmake -DCMAKE_SHARED_LINKER_FLAGS="-lopencv_core -lopencv_imgproc -lopencv_highgui" ../eos
cmake: /home/john/anaconda2/lib/libcurl.so.4: no version information available (required by cmake)
-- Options:
-- EOS_BUILD_EXAMPLES: ON
-- EOS_BUILD_CERES_EXAMPLE: OFF
-- EOS_BUILD_UTILS: OFF
-- EOS_BUILD_DOCUMENTATION: OFF
-- EOS_GENERATE_PYTHON_BINDINGS: OFF
-- EOS_GENERATE_MATLAB_BINDINGS: OFF
-- Found OpenCV: /usr/local (found version "3.2.0") found components:  core 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
-- Boost found at /usr/include
-- Eigen3 found: TRUE, version: 3.3.3
-- Eigen3 include dir found at /home/yalishanda/Desktop/john/1/2/software/computerVision/myTests/2/eos/3rdparty/eigen
-- OpenCV 3.x detected - including imgcodecs for compatibility
-- Found OpenCV: /usr/local (found suitable version "3.2.0", minimum required is "3") found components:  core imgproc imgcodecs 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
-- Boost found at /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yalishanda/Desktop/john/1/2/software/computerVision/myTests/2/build
yalishanda@yalishanda-thinkpad-x200:~/Desktop/john/1/2/software/computerVision/myTests/2/build$ make
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 25%] Linking CXX executable myFaceFit
/usr/bin/cmake: /home/yalishanda/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
CMakeFiles/myFaceFit.dir/myFaceFit.cpp.o: In function `main':
myFaceFit.cpp:(.text+0x20da): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'
myFaceFit.cpp:(.text+0x2102): undefined reference to `cv::waitKey(int)'
collect2: error: ld returned 1 exit status
examples/CMakeFiles/myFaceFit.dir/build.make:100: recipe for target 'examples/myFaceFit' failed
make[2]: *** [examples/myFaceFit] Error 1
CMakeFiles/Makefile2:119: recipe for target 'examples/CMakeFiles/myFaceFit.dir/all' failed
make[1]: *** [examples/CMakeFiles/myFaceFit.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
1
задан 28 July 2017 в 23:16

0 ответов

Другие вопросы по тегам:

Похожие вопросы: