2009-07-13 22 views
1

QTコンソールアプリケーションを64ビットで構築する必要があります。すなわち、x86_64のMac OSXでは64ビットでQTコンソールアプリケーションを構築するにはどうすればよいですか?

私の設定ファイルは次のようになります。

 
CONFIG += qt console debug x86_64 
CONFIG -= app_bundle 

HEADERS = HelperClass.h 
SOURCES = HelperClass.cpp \ 
      main.cpp 

コンパイルは問題なく罰金行きます。しかし、ビルドがリンクステップに達すると、私はQt x86_64アーキテクチャーを持っていないと訴えます。ビルドから

抜粋:

 
ld: warning in /Library/Frameworks/QtGui.framework/QtGui, missing required architecture x86_64 in file 
ld: warning in /Library/Frameworks/QtCore.framework/QtCore, missing required architecture x86_64 in file 
Undefined symbols: 
    "QIODevice::getChar(char*)", referenced from: 
... 

私はQtのソースをダウンロードして、これが機能するために必要なアーキテクチャを構築する必要がありますか?私のインストールは、QTサイトのMac OSX-Qt 4.5.2用に提供されているバイナリからのものです。私は、ビルドには64ビットバージョンのライブラリが付属していないと思っています。私は正しいですか? 32と64ビットライブラリ含めるべきであることが表示されますQt for Open Source C++ development on Mac OS Xページから

+0

構成ラインでx86_64なしで試してみることができますか?そうすれば、それが64ビット問題であるかどうかを確実に知ることができます。 –

答えて

0

:MacのOS X 10.5(32ビットおよび64ビット)用のココアを使用して

マックバイナリパッケージを http://get.qtsoftware.com/qt/source/qt-mac-cocoa-opensource-4.5.2.dmg

それでも問題が解決しない場合は、同じページからソースをダウンロードしようとすることができます:

http://get.qtsoftware.com/qt/source/qt-mac-opensource-src-4.5.2.tar.gz

として設定します。

-arch x86_64 

は、上記のリンクは一切アーチが指定されていない場合、それは現在のプラットフォーム用の32ビットを構築することを言及していることhttp://doc.trolltech.com/4.5/developing-on-mac.html#universal-binaries

注を参照してください。

$ファイル/Library/Frameworks/QtGui.framework/QtGui /Library/Frameworks/QtGui.framework/QtGui:4つのアーキテクチャとマッハ-Oのユニバーサルバイナリ

0

あなたは、 "ファイル" を使用してライブラリを確認することができます /Library/Frameworks/QtGui.framework/QtGui(アーキテクチャppc64用):Mach-O 64ビット動的リンク共有ライブラリppc64 /Library/Frameworks/QtGui.framework/QtGui(アーキテクチャppc7400用):動的にリンクされたMach-O共有ライブラリppc /Library/Frameworks/QtGui.framework/QtGui(アーキテクチャx86_64用):Mach-O 64ビット動的リンク共有ライブラリx86_64 /Library/Frameworks/QtGui.framework/QtGui(アーキテクチャ用i386):ダイナミックにリンクされた共有ライブラリi386

「ld警告:...ファイルに必須アーキテクチャx86_64がありません」というエラーが表示されるので、エラーメッセージは誤解を招きます。

1

QT SDKには、デフォルトでMac OS Xの64ビットライブラリは含まれていません(私はそれが奇妙だと思いますが、それはそうです)。 x86_64で自分のアプリケーションをコンパイルするには、スタンドアロンのライブラリをCocoa(32/64ビット)でダウンロードして、SDKをインストールした後にインストールします。

すべてが魅力のように機能します。

関連する問題