C++ & VS2015:未解决的外部和命名空间问题(可能由 openCV 引起)
C++ & VS2015: Problems with unresolved externals and namespaces (maybe caused by openCV)
大家好,
我真的是 Whosebug 的新手,尽管当我真的被困住时,我经常会找到很好的和鼓舞人心的答案。这个我找不到任何东西,所以我 post 它。
简短介绍:我在2010年自学了c++,然后转为VB、C#和Java。我完全错过了整个托管系统,当事情不像以前那样工作时,我真的很困惑。
问题:我的应用程序正在使用 openCV,并且我已经成功构建了工作。目前,我尝试以 windows 形式 picturbox
显示图片,同时使用 openCV 对其进行操作。
包括结构(一般):
main.cpp 包括
main.h
main.h 包括
打开简历
细绳
msclr/marshal_cppstd.h
表格 1、表格 2、表格 3
问题发生在 form3.h。 form3.h的基本结构:
#pragma once
cv::Mat srcImg;
HBITMAP get_srcImg()
{
HBITMAP b = CreateBitmap(srcImg.cols, srcImg.rows, 1, 32, srcImg.data);
return b;
}
namespace ownProject{//this is all automatically generated by the designer
class form {...}
我得到:
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "extern "C" struct HBITMAP__
* cdecl CreateBitmap(int,int,unsigned int,unsigned int,void const *)" (?CreateBitmap@@$$J0YAPEAUHBITMAP@@HHIIPEBX@Z) referenced in function "struct HBITMAP__ * cdecl get_srcImg(void)"
(?get_srcImg@@$$FYAPEAUHBITMAP@@XZ) Path_recognition
而且我不知道怎么解决。如果我删除 createBitmap
函数,一切正常。问题是我需要在 pictureBox
和 openCV 函数之间转换图片。我之前有未解决的外部问题并通过调整包含层次结构并删除除 main.cpp.
之外的所有 cpp 文件来修复它
希望你能帮助我。谢谢。
你应该link到Gdi32.lib
#pragma comment(lib, "Gdi32.lib")
这应该可以解决您的问题
大家好,
我真的是 Whosebug 的新手,尽管当我真的被困住时,我经常会找到很好的和鼓舞人心的答案。这个我找不到任何东西,所以我 post 它。
简短介绍:我在2010年自学了c++,然后转为VB、C#和Java。我完全错过了整个托管系统,当事情不像以前那样工作时,我真的很困惑。
问题:我的应用程序正在使用 openCV,并且我已经成功构建了工作。目前,我尝试以 windows 形式 picturbox
显示图片,同时使用 openCV 对其进行操作。
包括结构(一般):
main.cpp 包括 main.h
main.h 包括 打开简历 细绳 msclr/marshal_cppstd.h 表格 1、表格 2、表格 3
问题发生在 form3.h。 form3.h的基本结构:
#pragma once
cv::Mat srcImg;
HBITMAP get_srcImg()
{
HBITMAP b = CreateBitmap(srcImg.cols, srcImg.rows, 1, 32, srcImg.data);
return b;
}
namespace ownProject{//this is all automatically generated by the designer
class form {...}
我得到:
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "extern "C" struct HBITMAP__ * cdecl CreateBitmap(int,int,unsigned int,unsigned int,void const *)" (?CreateBitmap@@$$J0YAPEAUHBITMAP@@HHIIPEBX@Z) referenced in function "struct HBITMAP__ * cdecl get_srcImg(void)" (?get_srcImg@@$$FYAPEAUHBITMAP@@XZ) Path_recognition
而且我不知道怎么解决。如果我删除 createBitmap
函数,一切正常。问题是我需要在 pictureBox
和 openCV 函数之间转换图片。我之前有未解决的外部问题并通过调整包含层次结构并删除除 main.cpp.
希望你能帮助我。谢谢。
你应该link到Gdi32.lib
#pragma comment(lib, "Gdi32.lib")
这应该可以解决您的问题