Russian Qt Forum

Компиляторы и платформы => Компиляторы => Тема начата: Гурман от Июнь 07, 2012, 09:49



Название: Указание диска в проекте для Windows - make ругается
Отправлено: Гурман от Июнь 07, 2012, 09:49
Надо, чтобы в Release программа создавалась сразу там, где она будет работать, то есть, в Program Files. Пишу есессно в проекте

CONFIG(release,debug|release): DESTDIR += "$$(ProgramFiles)\program_dir"

получаю сообщение об ошибке от Make: Multiplie target patterns

оказывается, это ругань на двоеточие в имени диска, после раскрытия макроимени получается C:\Program Files\program_dir, и двоеточие Make воспринимает, как разделитель имён

при этом если влоб написать DESTDIR += "C\:\Program Files\program_dir" то qmake разворачивает все слэши, и в Makefile получается другой бред "C/:/Program Files/program_dir"

кто-нибудь знает, как это побороть? программа нужна только для Windows, переносимость проекта не обязательна


Название: Re: Указание диска в проекте для Windows - make ругается
Отправлено: LisandreL от Июнь 07, 2012, 09:59
А зачем перед двоеточием слеш?


Название: Re: Указание диска в проекте для Windows - make ругается
Отправлено: Гурман от Июнь 07, 2012, 10:54
насколько я помню, символ после \ make воспринимает как часть имени файла


Название: Re: Указание диска в проекте для Windows - make ругается
Отправлено: kambala от Июнь 07, 2012, 12:28
в qmake такой финт ушами не нужен


Название: Re: Указание диска в проекте для Windows - make ругается
Отправлено: Гурман от Июнь 07, 2012, 12:46
а как? qmake передаёт строку в Makefile, а на неё make ругается... или придётся в документации писать, чтобы руками копировали файл из каталога, где он создаётся, туда, где должен лежать, но это криво


Название: Re: Указание диска в проекте для Windows - make ругается
Отправлено: kambala от Июнь 07, 2012, 12:51
попробуй прямые слэши или двойные обратные


Название: Re: Указание диска в проекте для Windows - make ругается
Отправлено: Гурман от Июнь 07, 2012, 12:53
слеши тут совершенно ни при чём...

$$(ProgramFiles) раскрывается в ""C:\Program Files\", и проблема из-за двоеточия, а не из-за слешей