【发布时间】:2020-05-27 22:25:58
【问题描述】:
我已经从c++/cli 编译器编译了.obj 文件(.obj 文件是使用/clr 选项从源代码编译的)。 Docs (https://docs.microsoft.com/en-us/dotnet/framework/tools/ildasm-exe-il-disassembler) 说可以运行ildasm 来查看.obj 文件的一些元数据。但是命令ildasm /metadata foo.obj 说消息错误-ildasm supports only PE files in graphic mode。 Ildasm 取自 msvc 2015。我的命令有什么问题?
【问题讨论】:
-
这不是它所说的。该选项仅对 .lib 文件有效。 /objectfile 然后让您选择一个嵌入在 .lib 文件中的特定 .obj 文件。这实际上如何有用是非常模糊的,C++/CLI 构建系统不允许生成静态库。
-
@HansPassant,哦,谢谢。但是有没有办法检查 obj 文件的托管令牌(以应对 LNK2022 错误?)
-
.obj 文件上的 Dumpbin.exe /symbols 显示“外部”符号。证明没有符号通常不是很有帮助,充其量您可以识别名称修改问题。