C++ 错误LNK2019阿鲁科和OpenCV VS2010 c++;

C++ 错误LNK2019阿鲁科和OpenCV VS2010 c++;,c++,visual-studio-2010,opencv,lnk2019,C++,Visual Studio 2010,Opencv,Lnk2019,我是OpenCV e VS2010的新手。我在windows7 x64上工作。我想检测一个标记,所以我从下面下载了ARuco库:我编写了以下简单代码: #include <iostream> #include <stdio.h> #include "C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/aruco.h" #include "C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/

我是OpenCV e VS2010的新手。我在windows7 x64上工作。我想检测一个标记,所以我从下面下载了ARuco库:我编写了以下简单代码:

#include <iostream>
#include <stdio.h>
#include "C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/aruco.h"
#include "C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/cvdrawingutils.h"
#include "C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/cameraparameters.hpp"
#include "C:/Users/Cristina/Desktop/OpenCV/opencv/include/opencv/cv.h"
#include "C:/Users/Cristina/Desktop/OpenCV/opencv/include/opencv/highgui.h"
#include "C:/Users/Cristina/Desktop/OpenCV/opencv/modules/imgproc/include/opencv2/imgproc/imgproc.hpp"
#include "C:/Users/Cristina/Desktop/OpenCV/opencv/modules/highgui/include/opencv2/highgui/highgui.hpp"
#include "C:/Users/Cristina/Desktop/OpenCV/opencv/modules/core/include/opencv2/core/core.hpp"

using namespace cv;
using namespace aruco;

int main() {

    aruco::CameraParameters CamParam;
    aruco::MarkerDetector MDetector;
    vector <Marker> Markers;
    cv::Mat img;

    img = imread("prova marker", 0);

    cv::namedWindow("originale", 1);
    cv::namedWindow("risultato", 1);

    cv::Mat risultato;

    img.copyTo(risultato);

    MDetector.detect(img, Markers, CamParam, -1);

    for (int i=0; i< Markers.size(); i++) {

        Markers[i].draw(risultato, Scalar(0,0, 255));
    }

    cv::imshow("originale", img);
    cv::imshow("risultato", risultato);
    waitKey(0);

return 0;
}
#包括
#包括
#包括“C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/aruco.h”
#包括“C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/cvdrawingutils.h”
#包括“C:/Users/Cristina/Desktop/OpenCV/dep/aruco/src/cameraparameters.hpp”
#包括“C:/Users/Cristina/Desktop/OpenCV/OpenCV/include/OpenCV/cv.h”
#包括“C:/Users/Cristina/Desktop/OpenCV/OpenCV/include/OpenCV/highgui.h”
#包括“C:/Users/Cristina/Desktop/OpenCV/OpenCV/modules/imgproc/include/opencv2/imgproc/imgproc.hpp”
#包括“C:/Users/Cristina/Desktop/OpenCV/OpenCV/modules/highgui/include/opencv2/highgui/highgui.hpp”
#包括“C:/Users/Cristina/Desktop/OpenCV/OpenCV/modules/core/include/opencv2/core/core.hpp”
使用名称空间cv;
使用aruco;
int main(){
阿鲁科:CameraParameters CamParam;
阿鲁科:MarkerDetector MDetector;
载体标记;
cv::Mat img;
img=imread(“prova标记”,0);
简历:namedWindow(“原创”,1);
cv::namedWindow(“risultato”,1);
cv::Mat risultato;
副总裁(risultato);
MDetector.detect(img,Markers,CamParam,-1);
对于(int i=0;i
编译此文件时,会出现以下错误:

1>main.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall aruco::MarkerDetector::~MarkerDetector(void)" (??1MarkerDetector@aruco@@QAE@XZ) non risolto nella funzione _main
1>main.obj : error LNK2019: riferimento al simbolo esterno "public: void __thiscall aruco::Marker::draw(class cv::Mat &,class cv::Scalar_<double>,int,bool)const " (?draw@Marker@aruco@@QBEXAAVMat@cv@@V?$Scalar_@N@4@H_N@Z) non risolto nella funzione _main
1>main.obj : error LNK2019: riferimento al simbolo esterno "public: void __thiscall aruco::MarkerDetector::detect(class cv::Mat const &,class std::vector<class aruco::Marker,class std::allocator<class aruco::Marker> > &,class aruco::CameraParameters,float,bool)" (?detect@MarkerDetector@aruco@@QAEXABVMat@cv@@AAV?$vector@VMarker@aruco@@V?$allocator@VMarker@aruco@@@std@@@std@@VCameraParameters@2@M_N@Z) non risolto nella funzione _main
1>main.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall aruco::CameraParameters::CameraParameters(class aruco::CameraParameters const &)" (??0CameraParameters@aruco@@QAE@ABV01@@Z) non risolto nella funzione _main
1>main.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall aruco::MarkerDetector::MarkerDetector(void)" (??0MarkerDetector@aruco@@QAE@XZ) non risolto nella funzione _main
1>main.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall aruco::CameraParameters::CameraParameters(void)" (??0CameraParameters@aruco@@QAE@XZ) non risolto nella funzione _main
1>C:\Users\Cristina\Desktop\OpenCV\Progetti\MIEI PROGETTI\aruco marker\Debug\aruco marker.exe : fatal error LNK1120: 6 esterni non risolti
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
1>main.obj:error LNK2019:riferimento al-simbolo esterno“public:u thiscal aruco::MarkerDetector::~MarkerDetector(void)”(??1MarkerDetector@aruco@@QAE@XZ)非risolto nella funzione梅因酒店
1> main.obj:error LNK2019:riferimento al-simbolo esterno“public:void\uu thiscal aruco::Marker::draw(class cv::Mat&,class cv::Scalar\uu,int,bool)const”(?draw@Marker@阿鲁科@@QBEXAAVMat@cv@@V?$Scalar_@N@4@H_N@Z)非risolto nella funzione梅因酒店
1> main.obj:error LNK2019:riferimento al-simbolo esterno“public:void\uu thiscall aruco::MarkerDetector::detect(类cv::Mat const&,类std::vector&,类aruco::CameraParameters,float,bool)”(?detect@MarkerDetector@阿鲁科@@QAEXABVMat@cv@@AAV$vector@VMarker@阿鲁科@@V$allocator@VMarker@阿鲁科@@@std@@@std@@VCameraParameters@2@M_N@Z)非risolto nella funzione梅因酒店
1> main.obj:error LNK2019:riferimento al-simbolo esterno“public:u thiscall aruco::CameraParameters::CameraParameters(类aruco::CameraParameters const&)”(??0CameraParameters@aruco@@QAE@ABV01@@Z) 非risolto nella funzione梅因酒店
1> main.obj:error LNK2019:riferimento al-simbolo esterno“public:u thiscall aruco::MarkerDetector::MarkerDetector(void)”(?)??0MarkerDetector@aruco@@QAE@XZ)非risolto nella funzione梅因酒店
1> main.obj:error LNK2019:riferimento al-simbolo esterno“public:u thiscall aruco::CameraParameters::CameraParameters(void)”(?)??0CameraParameters@aruco@@QAE@XZ)非risolto nella funzione梅因酒店
1> C:\Users\Cristina\Desktop\OpenCV\Progetti\MIEI Progetti\aruco marker\Debug\aruco marker.exe:致命错误LNK1120:6 esterni非risolti
============编译元素:0个完整元素,1个非完整元素,0个聚集元素,0个ignorate==========
有人能帮我吗?
谢谢

您需要在Visual Studio上编译Aruco来构建库

然后,将生成的库文件复制到VisualStudio的适当库文件夹中


最后,编辑项目的属性并添加库的名称作为链接器的依赖项。

您需要在Visual Studio上编译aruco以构建库。然后,您需要将它们复制到Visual Studio中适当的libraries文件夹中,编辑项目的属性,并将库的名称添加为链接器的依赖项。感谢您的快速回复,但我仍然关心的是如何在Visual Studio中编译aruco。您能再次启发我吗?已解决!通过建议Karlphillip,我按照以下指南创建了一个静态库(.lib):包括ARuco库的所有文件(.h和.cpp)。然后我编译了library.lib并将其作为链接器的依赖项添加。我将使我的答案正式,以便其他人可以从中受益。