Ошибка lnk2001 в Visual Studio 2010

Существует много вопросов по этой проблеме. Но я не понимаю, что я делаю ясно.

Я установил aruco_msvc10 из Вот. Затем я интегрирую vs2010, используя следующие шаги:

  1. Создайте консольное приложение Win32
  2. Выберите Configuration Manager … и добавьте платформу x64
  3. При выпуске
    3.1. В Свойствах конфигурации —- C / C ++ —- Дополнительные каталоги включения, добавьте aruco_msvc2010 / include, msvc2010 / include / aruco

    3.2.
    В свойствах конфигурации —- компоновщик —- дополнительные каталоги библиотеки, добавьте папку библиотеки
    aruco_msvc2010 \ Lib

    3,3
    В поле конфигурации выберите режим выпуска, добавьте aruco124.lib

  4. . Добавьте aruco_msvc2010 \ bin в путь к системной среде

Затем я запускаю свой код, я получаю сообщение об ошибке через 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;
}

0

Решение

Некоторые возможности:

  • Вы добавляете lib в конфигурацию релиза, но пытаетесь сделать отладочную сборку

  • Добавляемая вами библиотека не соответствует вашей сборке (например, отладка / выпуск или несовпадение 32/64 битов)

  • Вы не добавляете файл lib в правильном месте (в разделе Дополнительные зависимости в компоновщике)

0

Другие решения