Сборка проектов Qt Xcode из командной строки - PullRequest
44 голосов
/ 18 декабря 2008

Я играю с Qt уже несколько часов. Я обнаружил, что qmake создает файлы проекта Xcode на Mac OS X вместо хороших старых make-файлов. Я не хочу запускать Xcode каждый раз, когда хочу создать «Hello, world».

Как мне заставить qmake генерировать обычные make-файлы или, если это невозможно сделать на Mac, как мне скомпилировать .xcodeproj файлы из командной строки?

Я пытался xcodebuild -project myProject -alltargets. Я получаю много выходных, а затем Abort trap.

Ответы [ 4 ]

60 голосов
/ 18 декабря 2008
$ man xcodebuild

Так что типичная команда может выглядеть примерно так:

$ xcodebuild -project myProject.xcodeproj -alltargets
21 голосов
/ 18 декабря 2008

Двоичные установщики Qt с открытым исходным кодом для OS X из Trolltech по умолчанию создают файлы .xcodeproj при запуске qmake. Я не использую XCode для редактирования, поэтому его сложно открыть для компиляции проекта.

Чтобы скомпилировать ваши проекты из Terminal.app, просто установите переменную окружения QMAKESPEC в macx-g ++

Если вы хотите просто скомпилировать определенный проект из терминала, перейдите в этот каталог и запустите

qmake -spec macx-g++

Когда вы запустите qmake, это создаст Makefile, который вы можете использовать, запустив make.

2 голосов
/ 17 января 2012

Попробуйте следующим образом. Это должно работать.

xcodebuild -project myProject.xcodeproj -alltargets

Я использовал этот метод в большинстве своих проектов.

0 голосов
/ 18 декабря 2008

Глядя на эту часть вашего обратного следа:

# 2008-12-18 20: 40: 52.333 xcodebuild [1070: 613] [MT] СБОЙ АСПЕРТА в /SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m:174 # Подробности: путь должен быть непустой строкой, но это пустая строка # Объект: # Метод: -subpathForWrapperPart: ofPath: withExtraFileProperties: # Тема: {name = (null), num = 1}

Это подразумевает, что что-то, возможно, одна из ваших переменных конфигурации, является пустым, когда ему нужно обратиться к файлу. Что мне интересно, так это то, что, возможно, у вас есть дополнительная цель в вашем проекте, которая не работает, поэтому создание с -alltargets является причиной вашей проблемы.

Я тестировал xcodebuild без каких-либо аргументов на одном из моих проектов только сейчас - он сделал сборку по умолчанию моего проекта без ошибок. Что произойдет, если вы попробуете это без аргументов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...