web-dev-qa-db-ja.com

コマンドラインからQt Xcodeプロジェクトをビルドする

私はQtで数時間遊んでいます。 qmakeがMac OS Xで、古き良きmakefileではなくXcodeプロジェクトファイルを生成することを発見しました。 「Hello、world」をビルドするたびにXcodeを起動したくありません。

Qmakeに通常のmakefileを生成させるにはどうすればよいですか。それがMacで実行できない場合は、コマンドラインから.xcodeprojファイルをコンパイルするにはどうすればよいですか?

xcodebuild -project myProject -alltargetsを試しました。多くの出力の後にAbort trapが続きます。

44
Ankur Sethi

Qmakeを実行すると、TrolltechのOS X用のオープンソースQtバイナリインストーラーがデフォルトで.xcodeprojファイルを作成します。私は編集にXCodeを使用しないので、プロジェクトをコンパイルするためにXCodeを開くのは面倒です。

Terminal.appからプロジェクトをコンパイルするには、QMAKESPECの環境変数をmacx-g ++に設定するだけです

ターミナルから特定のプロジェクトをコンパイルするだけの場合は、そのディレクトリに移動して実行します

qmake -spec macx-g++

Qmakeを実行すると、makeを実行して使用できるMakefileが作成されます。

21
user47488
$ man xcodebuild

したがって、一般的なコマンドは次のようになります。

$ xcodebuild -project myProject.xcodeproj -alltargets
60
Olie

次の方法を試してください。それは動作する必要があります。

xcodebuild -project myProject.xcodeproj -alltargets

私はほとんどのプロジェクトでこの方法を使用しています。

2

バックトレースのこの部分を見てください。

#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}

これは、ファイルを参照する必要がある場合、構成変数の1つである何かが空白であることを意味します。私が疑問に思っているのは、プロジェクトに機能しない追加のターゲットがある可能性があるため、-alltargetsを使用してビルドすることが問題の原因です。

私はちょうど私のプロジェクトの1つで引数なしでxcodebuildをテストしました-エラーなしで私のプロジェクトのデフォルトのビルドを行いました。引数なしで試すとどうなりますか?

0
Mike Heinz