Напишите код C++ под Linux, чтобы обратиться к заголовочному файлу opencv, и скомпилируйте ссылку на ошибку undefined для решения `cv::imread

Два решения для написания кода C++ под Linux для ссылки на файлы заголовков opencv, компиляция неопределенной ссылки ошибки на `cv::imread(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)

1. Сначала убедитесь, что opencv был установлен, вы можете ввести команду в терминале для просмотра:
$ opencv_version
3.3.1-dev

Или введите следующую команду, чтобы просмотреть путь к библиотеке opencv:

$ pkg-config --cflags --libs opencv
-I/usr/include/opencv /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so -lopencv_calib3d /usr/lib/x86_64-linux-gnu/libopencv_contrib.so -lopencv_contrib /usr/lib/x86_64-linux-gnu/libopencv_core.so -lopencv_core /usr/lib/x86_64-linux-gnu/libopencv_features2d.so -lopencv_features2d /usr/lib/x86_64-linux-gnu/libopencv_flann.so -lopencv_flann /usr/lib/x86_64-linux-gnu/libopencv_gpu.so -lopencv_gpu /usr/lib/x86_64-linux-gnu/libopencv_highgui.so -lopencv_highgui /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so -lopencv_imgproc /usr/lib/x86_64-linux-gnu/libopencv_legacy.so -lopencv_legacy /usr/lib/x86_64-linux-gnu/libopencv_ml.so -lopencv_ml /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so -lopencv_objdetect /usr/lib/x86_64-linux-gnu/libopencv_ocl.so -lopencv_ocl /usr/lib/x86_64-linux-gnu/libopencv_photo.so -lopencv_photo /usr/lib/x86_64-linux-gnu/libopencv_stitching.so -lopencv_stitching /usr/lib/x86_64-linux-gnu/libopencv_superres.so -lopencv_superres /usr/lib/x86_64-linux-gnu/libopencv_ts.so -lopencv_ts /usr/lib/x86_64-linux-gnu/libopencv_video.so -lopencv_video /usr/lib/x86_64-linux-gnu/libopencv_videostab.so -lopencv_videostab

Если вы не видите соответствующей информации об opencv, вы можете перейти на официальный сайт opencv для установки или обратиться к блогу под названием Ding_0110M .

2. Скомпилируйте с помощью команды GNU

Команда выглядит следующим образом:

// 编译生成可执行文件executableFileName
$ g++ source.cpp -o executableFileName $(pkg-config --cflags --libs opencv)
// 运行可以执行文件
$ ./executableFileName

Напоминаю: при включении в код заголовочного файла opencv обратите внимание на формат: #include<opencv2/opencv.hpp>, не пишите /as\ по ошибке.

3. Скомпилируйте с помощью cmke
  1. Создайте в проекте новый файл CMakeLists.txt;
  2. Скопируйте и вставьте следующее в файл CMakeLists.txt:
cmake_minimum_required(VERSION 2.2)

project(project)

set(CMAKE_CXX_STANDARD 11)
find_package( OpenCV REQUIRED )
include_directories(${
    
    OpenCV_INCLUDE_DIRS})
add_executable(executableFileName source.cpp)
target_link_libraries( executableFileName ${
    
    OpenCV_LIBS} )
  1. Перейдите в каталог, где находится текущий проект для компиляции:
$ cmake .
$ make
$ ./executableFileName

Guess you like

Origin blog.csdn.net/weixin_42286660/article/details/103224897