Как подключить OpenCV к проекту Visual Studio?
Подключил библиотеку opencv через vcpkg, запустил программу по выводу точек и в принципе все получилось, однако сам код помечается большим количеством ошибок
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
#include "apple_carving.hpp"
int main() {
cv::Mat img = cv::Mat::zeros(500, 1000, CV_8UC3);
std::vector<cv::Point> points = {
cv::Point(100, 100),
cv::Point(200, 200),
cv::Point(300, 300),
cv::Point(400, 400),
cv::Point(430, 100),
cv::Point(100, 430)
};
for (const auto& point : points) {
cv::circle(img, point, 5, cv::Scalar(0, 255, 255), -1);
}
cv::imshow("Test_image", img);
cv::waitKey(0);
return 0;
}
project ("apple_carving")
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "cmake")
set(CMAKE_VERBOSE_MAKEFILE True)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin.dbg)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin.rel)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/bin.relwithdbg)
find_package(OpenCV REQUIRED)
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_subdirectory ("apple_carving")
Ответы (1 шт):
Для линковки сторонних библиотек нужно сделать следующие действия:
- Нажать на проект ПКМ и выбрать пункт
"Свойства" - Перейти в пункт
С/C++->Общиеи найти пункт"Дополнительные каталоги включают"и вставить полный путь к библиотеке, в таком форматеC:\Users\user\Desktop\cryptopp(cryptoppвзял для примера) - Зайти в пункт
Компоновщик->Ввод->"Дополнительные зависимости"и добавить зависимость для библиотекиOpenCVс расширением.lib
Более конкретно все показано на видео, где линкуют библиотеку cryptopp, но вместо этой библиотеки вам нужно будет подключить именно OpenCV.
Надеюсь, это вам поможет.
Изменено: забыл уточнить, в видео еще показывают как сбилдить (собрать) библиотеку, чтобы появилась зависимость с расширением .lib, это на случай если у вас нет зависимости с таким расширением для OpenCV, правда там скорее всего другие методы для того, чтобы собрать библиотеку так, как вам надо.

