Существует много вопросов по этой проблеме. Но я не понимаю, что я делаю ясно.
Я установил aruco_msvc10 из Вот. Затем я интегрирую vs2010, используя следующие шаги:
При выпуске
3.1. В Свойствах конфигурации —- C / C ++ —- Дополнительные каталоги включения, добавьте aruco_msvc2010 / include, msvc2010 / include / aruco
3.2.
В свойствах конфигурации —- компоновщик —- дополнительные каталоги библиотеки, добавьте папку библиотеки
aruco_msvc2010 \ Lib
3,3
В поле конфигурации выберите режим выпуска, добавьте aruco124.lib
Затем я запускаю свой код, я получаю сообщение об ошибке через error LNK2001: unresolved external symbol "public: __cdecl aruco::MarkerDetector::MarkerDetector(void)" (??0MarkerDetector@aruco@@QEAA@XZ)
В моем проекте только один файл main.cpp. Должен ли я добавить файл markerDetector.h в проект?
Код:
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <aruco\aruco.h>
#include <aruco\cvdrawingutils.h>
using namespace cv;
int main()
{
VideoCapture cap(0); // open the default camera
int iSliderValue1 = 50, iSliderValue2 = 255;
Mat thresholdImage;
Mat frame;
aruco::MarkerDetector marker;
std::cout << "---------------- \n";
return 0;
}
Некоторые возможности:
Вы добавляете lib в конфигурацию релиза, но пытаетесь сделать отладочную сборку
Добавляемая вами библиотека не соответствует вашей сборке (например, отладка / выпуск или несовпадение 32/64 битов)
Вы не добавляете файл lib в правильном месте (в разделе Дополнительные зависимости в компоновщике)