我们正在捕获链接器错误:
2>cryptlib.lib(x64dll.obj) : error LNK2001: unresolved external symbol "unsigned __int64 * CryptoPP::rdtable::Te" (?Te@rdtable@CryptoPP@@3PA_KA)
2>x64\Output\Debug\cryptest.exe : fatal error LNK1120: 1 unresolved externals
缺少的符号位于 中rijndael.cpp
,其用法x64dll.asm
如下:
include ksamd64.inc
EXTERNDEF ?Te@rdtable@CryptoPP@@3PA_KA:FAR
EXTERNDEF ?g_cacheLineSize@CryptoPP@@3IA:FAR
EXTERNDEF ?SHA256_K@CryptoPP@@3QBIB:FAR
...
源文件是用 编译的/GL
,所以我们不能使用dumpbin /symbols
onrijndael.obj
检查目标文件来查看这个配置发生了什么。另请参阅 Dumpbin 的/SYMBOL文档和为什么 DumpBin 告诉我我的二进制文件中没有 COMDAT...?.
Microsoft 的文档告诉我们不能使用什么,但没有告诉我们在这种情况下应该使用什么。
编译时如何在目标文件中定位和显示符号/GL
?