Скомпилируйте проект Qt из командной строки
Я разрабатываю приложение, используя Qt, библиотеку/структуру С++. Используя QT-Creator, я могу просто скомпилировать свой проект, и каталог build генерирует нужные исполняемые файлы. Тем не менее, я пытаюсь автоматизировать мои запросы и использовать Apache ANT. Но я сталкиваюсь с следующими проблемами.
Вот результат из командной строки:
build.mac.64:
[echo] Building for Mac
[echo] Updating destination path
[exec] Project WARNING: No .qmake.cache is present. This significantly slows down qmake with this makespec.
[exec] Project WARNING: Call 'cache()' in the top-level project file to rectify this problem.
[exec] make: Nothing to be done for `first'.
[exec] cp: ./build/mac.64/settings.ini: No such file or directory
[exec] Result: 1
[echo] Reverting destination path
Я не уверен, почему он не компилирует исполняемый файл.
Вот как выглядит моя цель:
<target name="build.mac.64">
<echo>Building for Mac</echo>
<exec executable="qmake">
<arg value="myproject.pro"/>
<arg
value="-r"/>
<arg value="-spec"/>
<arg value="macx-clang"/>
<arg value="CONFIG+=x86_64"/>
</exec>
<exec executable="make" />
<exec executable="cp">
<arg value="./settings.ini"/>
<arg value="${default.build.dir.mac.64}/settings.ini"/>
</exec>
</target>
Любая идея, где я ошибаюсь?
Ответы
Ответ 1
Спасибо за советы парням. Я понял, что делаю неправильно. QT-Creator фактически выполняет первые два шага молча.
- Создать каталог вывода сборки
- CD в каталог вывода сборки (KEY STEP)
- Вызов qmake, ссылающийся на файл .pro
- Вызов
Итак, ключевая вещь, которую я упустил, заключалась в том, что сначала вы должны были быть в каталоге сборки, а затем вызывать qmake, make и т.д. А также, если в сборке уже есть файлы, скомпилированные, это вызывает эту ошибку. Я просто должен убедиться, что я очищаю каталог сборки, чтобы скомпилировать все свежо.
Ответ 2
В окне терминала
- cd ~/your_project_folder/
- qmake -project
- QMAKE
- сделать
Ответ 3
Если компилировать существующий проект, qmake -project на самом деле ошибочен, см. "qmake -help".
qmake -makefile
make
Если это большой проект, "make -j4" или аналогичный.
Ответ 4
привет, я закончу программировать свое приложение, поэтому я хочу развернуть его на другом компьютере, поэтому, если я нажму на исполняемый файл, базы данных нет