0

关于这个问题存在很多疑问。但我不明白我在做什么。

我从这里安装了 aruco_msvc10 。然后我使用以下步骤集成 vs2010:

  1. 创建 Win32 控制台应用程序
  2. 选择 Configuration Manager... 并添加 x64 平台
  3. 发布时,
    3.1。在 Configuration Properties ---- C/C++ ---- Additional Include Directories 处,添加 aruco_msvc2010/include、msvc2010/include/aruco

    3.2. 在配置属性----链接器----附加库目录,添加库文件夹 aruco_msvc2010\lib

    3.3 在配置栏,选择Release mode,添加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;
}
4

1 回答 1

0

一些可能性:

  • 您正在将 lib 添加到发布配置中,但正在尝试进行调试构建

  • 您添加的库与您的构建不匹配(例如调试/发布或 32/64 位不匹配)

  • 您没有在正确的位置添加 lib 文件(在链接器中的附加依赖项下)

于 2015-02-17T09:43:04.520 回答