我现在开始尝试学习openCV和visual Studio2017,用于工作中的一个项目。我目前正在遵循openCV的一些教程,但是我得到了8个LNK2019错误。你们能帮我一下吗?
总的来说,我对编码还是个新手,如果我问了一些愚蠢的问题,请提前表示歉意。
这是我当前的代码:
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
String imageName( "HappyFish.jpg" ); //by default
if (argc > 1)
{
imageName = argv[1];
}
Mat image;
image = imread(samples::findFile(imageName), IMREAD_COLOR); //Read the file
if (image.empty()) //checking for valid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); //create a window for the display
imshow("Display window", image); //showing our image inside the window
waitKey(0); //Wait for a keystroke in the window
return 0;
}
以下是我的错误:
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“void__cdecl cv::fastfree(void*)”(?fastfree@cv@@yaxpax@z)在函数“public:__thiscall cv::mat::~mat(void)”(??1mat@cv@@qae@xz)中引用(??1mat@cv@@qae@xz)Open cv test C:\users\brr\source\repos\Open cv test\Open cv test\Open cv test.obj 1
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“void__cdecl cv::Error(int,class std::basic_string,class std::allocator>const&,char const*,char const*,int)”(?Error@cv@@yaxhabv?$basic_string@du?$char_traits@d@std@@v?$allocator@d@2@@std@@pbd1h@z)在函数“public:class cv::mat&__thiscall cv::mat::operator=(class cv::mat(??4MAT@cv@@QAEAAV01@$$QAV01@@Z)打开cv测试C:\用户\brr\source\repos\Open cv测试\Open cv测试\Open cv测试\Open cv测试\Open cv测试。obj 1
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“public:void__thiscall cv::mat::deallocate(void)”(?deallocate@mat@cv@@qaexxz)在函数“public:void__thiscall cv::mat::release(void)”(?release@mat@cv@@qaexxz)中引用(?release@mat@cv@@qaexxz)Open cv test C:\users\brr\source\repos\Open cv test\Open cv test\Open cv test.obj 1
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“class std::BASIC_STRING,class std::Allocator>__CDecl cv::Samples::FindFILE(class std::BASIC_STRING,class std::Allocator>const&;,bool,bool)”(?FindFile@Samples@cv@@ya?AV?$BASIC_STRING@d@std@@v?$Allocator@D@2@@std@@abv34@_N1@z)在函数_main Open cv test
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“class cv::mat__cdecl cv::imread(class std::basic_string,class std::allocator>const&,int)”(?imread@cv@@ya?avmat@1@abv?$basic_string@du?$char_traits@d@std@@v?$allocator@d@2@@std@@h@z)在函数_main Open cv test c:\users\brr\source\repos\Open cv test\Open cv test\Open cv
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“void__cdecl cv::namedwindow(class std::basic_string,class std::allocator>const&,int)”(?namedwindow@cv@@yaxabv?$basic_string@du?$char_traits@d@std@@v?$allocator@d@2@@std@@h@z)在函数_main Open cv test C:\users\brr\source\repos\Open cv test\Open cv test\Open cv test.obj 1中引用
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“int__cdecl cv::waitkey(int)”(?waitkey@cv@@yahh@z)在函数_main Open cv test C:\users\brr\source\repos\Open cv test\Open cv test.obj 1中引用
严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“void__cdecl cv::imshow(类std::basic_string,类std::allocator>const&,类cv::debug_build_guard::_inputarray const&)”(?imshow@cv@@yaxabv?$basic_string@du?$char_traits@d@std@@v?$allocator@d@2@@std@@abv_inputarray@debug_build_guard@1@@z)在函数_main Open cv test C:\users\brr\source\repos\Open cv test\Open cv test.obj 1中引用
提前致谢
您似乎没有包括必要的依赖项:您应该遵循:https://docs.opencv.org/2.4/doc/tutorials/introduction/windows_visual_studio_opencv/windows_visual_studio_opencv.html
这里有详细的解释。搜索:“Additional Dependencies”,但您可能应该重新评估为建立项目而采取的其他步骤。
对我来说,这个问题通常是由链接器没有指向正确的lib文件引起的。这是在to步骤中完成的,首先您需要将VS指向包含lib文件的文件夹,然后您需要说出您想要的lib文件。
首先。Project>属性。然后配置属性>;C/C++>常规。在“附加包括目录”字段中,将地址位置添加到OpenCv lib文件夹中。我的像这样。
opencv_3_3_0\build\vc17\lib\debug
OpenCV_3_3_0\build\vc17\lib\发布
现在我们需要说出我们想要哪些libs。因此,在VS project properties选项卡中,转到Configuration properties>;链接器>;输入,然后是附加依赖项字段。
现在需要添加所需库的名称。opencv_calib3d330.lib是一个示例
所有的库都在文件夹中,所以只需继续添加所有的库,直到错误消失为止(取决于您使用的特性和您需要的库)
如果您没有正确地构建VS17的库,您将需要遵循以下说明。
https://docs.opencv.org/2.4/doc/tutorials/introduction/windows_install/windows_install.html#Windows-安装
首先,我知道这个问题在这个网站上到处都是,但是我看了几乎所有的问题,似乎找不到问题所在。这是在VS 2012中。谢谢。 这是插座。cpp公司 这是stdafx。h类 这是我的错误消息:
我得到了这个错误,但我不知道如何修复它。 我正在使用Visual Studio 2013。我将解决方案命名为MyProjectTest这是我的测试解决方案的结构: -功能。H -功能。cpp -main.cpp 我是初学者;这是一个简单的程序,运行时没有错误。我在互联网上阅读并对单元测试感兴趣,因此我创建了一个测试项目: 菜单文件→新建→项目...→已安装→模板→Visual C→测试→本地单元测
此链接器错误在主目录中。cpp和在foreach中。h级。构造函数和解构器都被标记为错误。 LNK2019:未解析的外部符号 “public:u thiscall FE_Iterator::~FE_Iterator(void)”在函数中引用“public:u thiscall Set,类std::allocator” "公共:__thiscallFE_Iterator::FE_Iterator(无
当我运行下面的简单代码时,我有两个错误,如下所示: 错误: msvcrtd.lib(crtexew.obj):错误LNK2019:函数中引用了未解析的外部符号 我该怎么办?
我有一个cpp文件,其中包括: 当尝试运行AcquireCredentialsHandleW时,我得到.. MSDN说它在sspi.h中。
我在我的MFC vtk项目中使用Visual Studio 2008。我收到一个链接错误,如下所示: vtkPBFEAView。obj:警告LNK4217:本地定义的符号?DrawDC@vtkMFCWindow@@QAEXPAVCDC@@@Z(public:void _thiscall vtkMFCWindow::DrawDC(类CDC*))在函数“protected:virtual void _
如果在中发现未解析的外部符号,我必须做什么。库文件。如果我在中发现未解析的外部符号。c或。cpp我能修好它。但当我在里面发现了未解决的外部符号。lib(library)文件如何解决这个问题? 在我的例子中,我发现了如下链接器错误: 关于这一点的任何建议都将是有益的。
我正在用c和visual studio进行我的第一次测试,我不知道为什么,当程序中没有出现“未解决的外部符号”时,我会遇到一个问题。 错误97错误LNK2001:未解析的外部符号"public:静态类会话*__cdecl会话::实例(无效)"(?Instance@Session@@SAPAV1@XZ)(...)\MyTest\Messages.objMyTest 错误98错误LNK2001:未解析