2

我试图编译 dsfml 使用dub我不断收到此错误:

Linking...
/usr/bin/ld: cannot find -ldsfml-window
/usr/bin/ld: cannot find -ldsfml-system
/usr/bin/ld: cannot find -ldsfml-audio
/usr/bin/ld: cannot find -ldsfml-network
/usr/bin/ld: cannot find -ldsfml-graphics
collect2: error: ld returned 1 exit status
--- errorlevel 1
FAIL .dub/build/application-debug-linux.posix-x86-dmd_2067-FDAB6DCF10EB7D29BC4DAB2CF2FAFD5C/ dsfmlapps executable
Error executing command build:
dmd failed with exit code 1.

我确保通过存储库在我的 Ubuntu(14.04 32 位)上安装了 sfml 和 csmfl。知道有什么问题吗?

编辑:这是我的dub.json文件

{
    "name": "dsfmlapps",
    "description": "A minimal D application.",
    "copyright": "Copyright © 2015, karabuta",
    "authors": ["karabuta"],
    "lflags" : ["-L/usr/include"],
    "dependencies": {
        "dsfml": "~master"    
    }
}
4

1 回答 1

2

我认为这是dub.jsonDSMFL 中的一个错误。它包含以下形式的库规范:"libs": [ "dsfml-audio" ]. 但是"libs"指定在其他地方找到的外部库!这里的名称是dsfml-audio,但如果您从 DSFML 查看构建目录,您将看到库文件名为libdsfml_audio. (注意-_名称中的相对。)

解决方案是从文件中删除所有"libs": [ "..." ],行。dub.json用于dub -v检查引用的文件!

于 2015-08-08T19:27:54.363 回答