我正在尝试使用 binutils ld 2.21 版在 Windows 上链接一个小 DLL(只有一个输入文件)。dllexport
对于在我的目标文件中标记为的每个符号,我都收到以下错误:
Cannot export <symbol name>: symbol not found
我能做些什么呢?我已经通过应用 nm 验证了问题符号存在并且是非静态的,但我仍然收到错误。我也尝试过删除和重建目标文件;它没有帮助。我怀疑问题与我的链接线有关。为了记录,这里是:
clang++ -fPIC -Wl,--dll,--compat-implib,--nxcompat,--dynamicbase -shared \
-o pthread.dll pthread.o -lkernel32 -lmsvcrt
我究竟做错了什么?