Dem*_*emi 4 d makefile undefined-reference
我以前写过复杂的C和C++ makefile.但是,我似乎无法让我的D makefile工作.它抛出超过一千行"未定义的引用"错误,看起来好像Phobos无法链接.我该如何解决这个问题?
我在Fedora 19 Linux上使用GNU make和LDC2.
编辑:使用LDC2直接编译和链接正常工作.只有在使用'make'调用时才会出错.make似乎试图调用一个单独的链接器.
编辑2:这是我的makefile:
# This macro contains the source files
sources := $(wildcard *.d)
binaries := $(sources:%.d=%)
all: $(binaries)
%.o:%.d
ldc2 $< -O5 -check-printf-calls
Run Code Online (Sandbox Code Playgroud)
删除.o修复它.
我不知道模式规则的复杂性,但我相信这就是你的问题所在.
%.o:%.d
ldc2 $< -O5 -check-printf-calls
Run Code Online (Sandbox Code Playgroud)
您已经要求make通过调用ldc2命令将每个.d文件转换为.o文件.但是,你没有请求ldc2来构建目标文件,你要求它构建一个可执行文件(我不知道你想要哪个标志dmd/gdc:-c).虽然我会在链接器之前预料到编译器错误.
通过删除.o,我必须假设Make是一次传递所有.d文件而不是单独传递.
归档时间: |
|
查看次数: |
649 次 |
最近记录: |