[英]Using C++\C# .Net assemblies\DLL's in win32 C++ (unmanaged) application
[英]Merge Win32 c++ dll with managed c++ dll
我有一个使用/ clr支持(例如wrapper.dll)编译的C ++项目。 该项目(wrapper.dll)是.Net环境与未继承的dll(例如noCode.dll)之间的包装,后者是从.NET环境继承而来的。 我无权访问继承的dll(noCode.dll)的代码,但可以将其链接到我的包装器(通过noCode.lib和noCode.h文件)。
当我想在c#项目中使用我的wrapper(wrapper.dll)时,我将其引用, 并且必须将非托管dll(noCode.dll)复制到c#项目执行的位置。
是否可以将c ++无格式的dll(noCode.dll)合并到托管的dll(wrapper.dll),以允许在c#项目中仅通过引用使用一个文件 (noCodeWrapper.dll)?
无法将DLL文件链接在一起。
但是您可以将该nocode.LIB添加到您的DLL中,然后就不需要[DllImport]。 由于您具有LIB和H文件,因此可以直接从托管C ++代码中调用“ nocode”函数。
如果您有权访问noCode.dll源代码,则可以将其与wrapper.dll集成在一起。 否则,合并DLL二进制文件不是一项可以提供可预期结果的任务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.