Компиляция проекта
От: Sergey_BG Россия  
Дата: 18.01.17 07:43
Оценка:
Всё компилируется прекрасно в Qt Creator. Но понадобилось добавить компиляцию в FinalBuilder. А в нём нет Qt проектов. Я решил сделать всё через командную строку.
mkdir "build-WallArchive-Desktop_Qt_32bit"
cd "build-WallArchive-Desktop_Qt_32bit"
qmake.exe "C:\Path\WallArchive\WallArchive.pro" -r -spec win32-msvc2013 -o "Makefile"
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars.bat
C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Release
pause


Но как я не бился, jom запускает cl, а он выходит по ошибке
Command line error D2021 : invalid numeric argument '/FS'.


Кто говорит, что компилятор нужен другой, кто говорит файлы отредактировать из Qt. Но ведь в QtCreator всё работает. Значит, я что-то делаю не так...
Подскажите...
Заранее спасибо.
Сергей
Re: Компиляция проекта
От: Chorkov Россия  
Дата: 18.01.17 08:43
Оценка: 2 (1)
Здравствуйте, Sergey_BG, Вы писали:

S_B>Всё компилируется прекрасно в Qt Creator. Но понадобилось добавить компиляцию в FinalBuilder. А в нём нет Qt проектов. Я решил сделать всё через командную строку.

S_B>
mkdir "build-WallArchive-Desktop_Qt_32bit"
S_B>cd "build-WallArchive-Desktop_Qt_32bit"
S_B>qmake.exe "C:\Path\WallArchive\WallArchive.pro" -r -spec win32-msvc2013 -o "Makefile"
S_B>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars.bat
S_B>C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Release
S_B>pause


S_B>Но как я не бился, jom запускает cl, а он выходит по ошибке
Command line error D2021 : invalid numeric argument '/FS'.


S_B>Кто говорит, что компилятор нужен другой, кто говорит файлы отредактировать из Qt. Но ведь в QtCreator всё работает. Значит, я что-то делаю не так...

S_B>Подскажите...
S_B>Заранее спасибо.

1) Поставь вызов vcvars.bat до вызова qmake.
2) Если Qt 64-битная, вызывай call ....\vcvars.bat x64
3) Возможно, в системе несколько qmake-ов. Поставь полный путь к тому, который собран в рамках нужной тебе версии Qt.
4) Возможно, весь батник запускается в контексте vcvars от другой студии, возможно, какой-то диверсант прописал в PATH пути к cl от другой студии. Что выдает "where cl"?
Re[2]: Компиляция проекта
От: Sergey_BG Россия  
Дата: 18.01.17 09:27
Оценка:
Здравствуйте, Chorkov, Вы писали:
C>4) Возможно, весь батник запускается в контексте vcvars от другой студии, возможно, какой-то диверсант прописал в PATH пути к cl от другой студии. Что выдает "where cl"?
Но ведь и в контексте Qt Creator пути к другим студиям зарегистрированы. Как они добились, что вызывается нужная cl? Я просто надеялся, что вызвав vsvars она пути к своей cl добавит в начало. Но нет. Where cl даёт другой путь.
Сергей
Re[3]: Компиляция проекта
От: Sergey_BG Россия  
Дата: 18.01.17 09:57
Оценка:
Снимаю вопрос. Моя ошибка. vsvars просто не запускался. Если бы он запустился, то тогда бы не запускался бы jom, так как перед запуском vsvars я не поставил CALL.
Сергей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.