繁体   English   中英

将Win32 C ++ DLL与托管C ++ DLL合并

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM