我有这些文件:如何再出口CLR C++静态库
- foo.dll
- foo.lib
- foo.exp
- bar.il
- bar.netmodule
“foo”在其导出目录中定义了函数。
我也有一个Visual Studio 2010中C++项目,该项目将建立一个管理的“bar.dll”
我想“栏中的”静态链接到“foo”和再出口的所有功能,从“富” 。
最后我想酒吧从FOO和FOO定义了一些额外的代码导出功能。
使用下面的代码,因为它引用富,而不是合并酒吧与FOO不起作用。
#pragma comment(linker, "/include:[email protected]")
我该怎么做?
参见:http://msdn.microsoft.com/en-us/library/f0z8kac4(v=VS.100).aspx
CFF Explorer以验证导出目录:http://www.ntcore.com/exsuite.php
参见:http://msdn.microsoft.com/en-us/library/k669k83h.aspx
参见:http://blogs.msdn.com/b/texblog/archive/2007/04/05/linking-native-c-into-c-applications.aspx
call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe" /DLL /LTCG /CLRIMAGETYPE:IJW /ASSEMBLYMODULE:bar.netmodule /OUT:bar.dll foo.lib bar.netmodule
foo.netmodule : fatal error LNK1302: only support linking safe .netmodules; unable to link ijw/native .netmodule
我不知道它可以将foo合并到栏中。尽管如此,可以将栏中的导出符号转发回foo。就像kernel32为ntdll中的某些函数所做的那样。如果你只想检查导出库,你也可以在VS命令提示符下使用[depends](http://www.dependencywalker.com)或'dumpbin/exports bar.dll'。 – Rup 2011-04-05 13:36:24