使用DMD -m64
进行编译时出现链接器错误,我没有得到32位。
我正在从ShowWindow
导入core.sys.windows.winuser
,我得到以下信息:
C:\D\dmd2\windows\bin\lld-link.exe: warning: main.obj: undefined symbol: ShowWindow
error: link failed
Error: linker exited with status 1
我的编译器命令为dmd main.d -m64 -i -O -release -inline -boundscheck=off
。
除了认为我正在呼叫ShowWindow
之外,我认为源代码不会有所作为。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
感谢亚当的评论(老实说,他在每个地方都很有用),解决方案是添加pragma(lib, "user32")
。
但是在那之后我遇到libcurl
的更多问题时,我最终只是转而使用ldc2
,这是基于LLVM的D编译器。我认为这要好得多,它减少了许多与“缺少东西”有关的错误。
我似乎可以与独立的Visual Studio Build Tools无缝协作,不像DMD不能立即使用我的环境设置。如果我让安装程序来管理VS Build Tools的安装,可能会有点,我不希望随Visual Studio的完整安装一起带来如此big肿的软件包。