C#调用C++的dll两种方法(托管与非托管)时遇到问题求解答?????

https://blog.csdn.net/liyuqian199695/article/details/53525178
按照该博文中的二——托管方式将C++类编译成DLL文件时,输出如下:

1>------ 已启动生成: 项目: cdDLLManage, 配置: Debug x64 ------
1>  clrClass.cpp
1>e:\opencv\build\include\opencv2\core\cvstd.hpp(575): warning C4793: “cv::String::String”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\cuda.inl.hpp(105): warning C4793: “cv::cuda::GpuMat::GpuMat”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\cuda.inl.hpp(395): warning C4793: “cv::cuda::HostMem::HostMem”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\mat.inl.hpp(482): warning C4793: “cv::Mat::Mat”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\mat.inl.hpp(815): warning C4793: “cv::Mat::release”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\mat.inl.hpp(2135): warning C4793: “cv::SparseMat::addref”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\mat.inl.hpp(3735): warning C4793: “cv::UMat::addref”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\ptr.inl.hpp(67): warning C4793: “cv::detail::PtrOwner::incRef”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\ptr.inl.hpp(72): warning C4793: “cv::detail::PtrOwner::decRef”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>e:\opencv\build\include\opencv2\core\cvstd.hpp(657): warning C4793: “cv::String::operator=”: 编译为本机的函数:
1>      托管代码中发现一个不受支持的内部函数
1>  cdDLLManage.vcxproj -> N:\VSC\cdDLLManage\x64\Debug\cdDLLManage.dll
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

C#调用C++dll文件时,,不能通过,出现如下问题:
这里写图片描述

难过,,搞了两天了,一直有问题。求解答

猜你喜欢

转载自blog.csdn.net/zhenaoxi1077/article/details/81106273
今日推荐