Как установить выходной каталог для rdmd (Windows)?

Я знаю, что в dmd это можно сделать так:

> cd ..\bin
> dmd ..\src\example.d

или вот так:

> dmd example.d -offilename ..\bin\example.exe

Но в rdmd этот метод не работает. Файл «example.exe» всегда находится в одной папке с «example.d».

я пытался сделать это

> rdmd --build-only example.d ..\bin\example.exe

, это

> rdmd --build-only example.d -offilename ..\bin\example.exe

и это

> cd ..\bin && rdmd --build-only ..\src\example.d

с тем же отрицательным результатом.


d dmd
person Timushev Roman    schedule 29.12.2014    source источник


Ответы (2)


Вы ошиблись в синтаксисе -offilename. filename — пример значения. Вам нужно заменить его: -of..\bin\example.exe. Многие другие опции dmd работают таким же образом.

Кроме того, rdmd не передает аргументы, которые идут после исходного файла, в dmd. Они интерпретируются как аргументы построенной и запущенной программы (независимо от --build-only). Это означает, что вам нужно поставить -of..\bin\example.exe перед example.d:

rdmd --build-only -of..\bin\example.exe example.d

person user4402083    schedule 29.12.2014
comment
да, это было из-за неправильного порядка аргументов - person Timushev Roman; 29.12.2014

Параметр «из» означает, что вы заменяете «имя файла» именем вашего выходного файла, например:

rdmd --build-only -of../bin/example.exe example.d 

Это работает для меня в makefile моих проектов. РЕДАКТИРОВАТЬ: я забыл, что порядок аргументов также имеет значение с DMD.

person MaKo    schedule 29.12.2014
comment
Примечание: Только rdmd заботится о порядке аргументов, dmd принимает их в любом порядке. - person Manuzor; 08.09.2015