我正在尝试使用 SConstruct 构建一个“hello world”D 项目并获得以下输出:
D:\projects\test>scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\Python27\Scripts\scons.py", line 192, in <module>
scons: Building targets ...
dmd -I. -c -ofsrc\main.o src\main.d
dmd -ofhello.exe src\main.o
Error: unrecognized file extension o
scons: *** [hello.exe] Error 1
scons: building terminated because of errors.
此外,我发现 dmd 编译器生成带有 *.obj 扩展名的目标文件,而不是 *.o 并且它无法处理 *.o 文件。
有没有办法让 SCons 使用 dmd 对象文件的默认输出或为它们传递 *.obj 文件扩展名?或者这只是一个错误?
我的 SConstruct 文件:
import os
env = Environment(ENV=os.environ)
env.Object(target = 'hello', source = 'src/main.d')
我的平台是 Windows 7 x86_64。
dmd 版本是 2.064.2。