2009-07-13 84 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位版本的庫。我對麼?

+0

你可以在配置行中不使用x86_64的情況下嘗試嗎?這樣你就可以確定它是否是一個64位的問題。 – 2009-07-13 17:41:55

回答

0

Qt for Open Source C++ development on Mac OS X頁看來該32個64位庫包括:使用可可的Mac OS X 10.5(32位和64位)

的Mac二進制包 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 

http://doc.trolltech.com/4.5/developing-on-mac.html#universal-binaries

注意,上面的鏈接提到,如果沒有指定拱它建立在當前平臺中的32位。

$文件/Library/Frameworks/QtGui.framework/QtGui /Library/Frameworks/QtGui.framework/QtGui:Mach-O的通用與4架構的二進制

0

您可以使用 「文件」 檢查庫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 /庫/ Framework/QtGui.framework/QtGui(用於體系結構i386):Mach-O動態鏈接共享庫i386

我看到相同的「ld警告:...文件中缺少所需的體系結構x86_64」錯誤,所以錯誤消息是誤導性的。

1

QT SDK在默認情況下不包括Mac OS X中的64位庫(我認爲這很奇怪,但是這樣)。爲了在x86_64中編譯我的應用程序,我只需要下載帶有Cocoa(32/64位)的獨立庫,並在安裝SDK之後安裝它們。

一切都像一個魅力然後。

相關問題