我有一个依赖于另一个库(qui)的库(termbox-d)。并且termbox-d与静态库libtermbox.a
链接。
注意:我链接到的termbox-d有一些错误,我已在fork中修复了这些错误,但请求请求尚未合并。
这就是事情搞砸了:
如果我将qui
编译为库,它将进行编译。指示termbox-d
与libtermbox.a
链接。
如果我用qui
编译dub build --comfig=demo
,它将以可执行文件的形式将其编译为具有qui
库且使用termbox-d
的主库。这个构建并运行良好。表明它仍然可以正常运行。
但是,如果我创建另一个依赖于qui
的程序包并进行构建,则它无法与libtermbox.a链接。我收到如下错误:
source/termbox/package.d:210: undefined reference to
tb_peek_event'
So now it failed to link with
libtermbox.a`
为什么会发生这种情况,以及如何使其起作用?
答案 0 :(得分:1)
由于在chat.freenode.net上的IRC通道#d上显示了字母,我发现了这个问题:
而不是添加
"sourceFiles" : ["libtermbox.a"]
到qui
的{{1}}上,我不得不添加
dub.json
。
现在就可以了。