2014-10-02 3 views
3

Я пытаюсь скомпилировать D с dub, используя библиотеку DSFML.
Я следую за sort of tutorial, в котором объясняется, как скомпилировать проект с любым «внешним» libray.

После создания проекта, я пытаюсь скомпилировать с dub build, и он говорит dsfml-graphics.lib Warning 2: File Not Found dsfml-graphics.lib, одно предупреждение для каждого .lib-файла.

Теперь, мой источник не содержит каких-либо SFML-объектов/классов/связанных команд, он, очевидно, компилирует и генерирует предупреждение. Если я использую некоторые классы SFML, очевидно, нет.

Я полагаю, что я сделал что-то неправильно внутри файла dub.json, возможно, в теге -lflag, но я не уверен. Любая идея на как сделать dub найти мои файлы DSLML .lib?Dlang как сделать dub найти внешнюю библиотеку

Это мое дерево каталогов:

>documents 
>> DSFML 
>>> bin (inside, .dll files) 
>>> lib 
>>>> dmd (inside, .lib files) 
>>>> gcd (inside, .lib files) 
>> d-test-dsfml (my dub's project) 

А вот мой dub.json файл:

{ 
    "name": "d-test-sfml", 
    "description": "A minimal D application.", 
    "copyright": "Copyright © 2014, John", 
    "authors": ["John"], 
    "lflags" : ["+C:\\Users\\John\\documents\\DSFML"], 
    "dependencies": { 
     "dsfml:graphics": "~master", 
    } 
} 

В -lflag, я также попытался с помощью [John пользователя] \ Документы \ DSFML \ bin, lib и lib \ dmd.

EDIT: решена, мне просто нужно написать lib\\dmd\\ (окончание с двумя \\). Через 6 часов я замаскирую его как разрешенное.

ответ

1

Напишите "lflags" : ["+C:\\Users\\John\\documents\\DSFML\\lib\\dmd\\"] с двумя \\ в конце. Теперь dub найдет .lib.
Как и любая другая программа, fter компиляция помещает .dll в файлы \\bin в той же директории .exe

Смежные вопросы