C++调用C#生成的DLL文件:
首先选择建立一个C#的类库,然后再按照需求编写需要的函数
之后,对于C++调用过程需要注意的几点:
1.使用#using <....some.dll>指出DLL文件的位置来调用DLL
2.using namespace some 方便之后调用函数
3.Class1 ^c = gcnew Class1();
gcnew和new的区别(引自百度知道):
gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址.
gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.
4.编译之后报错:对于C++/CLI错误,见下图的“公共语言运行时支持”
可能报的另外一个错:clr和MD不兼容,参见下图的 “运行库”
5.最后一个错误:
fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
可以这样处理:(MFC的使用 注意这个项目)
基本上就这么几个问题。
因为今天折腾了5 6 个小时,故做点记录。