2010-12-08 9 views
7

zu erstellen, muss ich eine 32-Bit-Version meiner Anwendung generieren, aber ich kompiliere auf einem 64-Bit-Betriebssystem. Ich suche nach einer Möglichkeit, QMake dazu zu bringen, 32- und 64-Bit-Versionen meiner Anwendung zu generieren. Wenn das nicht möglich ist, würde ich gerne wissen, wie man auf 32 Bits umschaltet. Ich möchte auch vermeiden, sich mit dem generierten Makefile herumschlagen zu müssen.Mit QMAKE, um eine 32-und 64-Bit-Versionen des Projekts

Antwort

8

eine Konstruktion so etwas wie verwenden:

CONFIG += 32bit 

CONFIG(32bit) { 
    TARGET = 32bit_binary 
    QMAKE_CXXFLAGS += -m32 
    LIBS += -L<path to 32bit libraries> 
} 
CONFIG(64bit) { 
    TARGET = 64bit_binary 
} 

in Ihrer .proDatei. Dann müssen Sie nur eine Zeile für die andere Architektur neu kompilieren.

+0

Es hat nicht für mich funktioniert – Raphael

+0

Sie haben nicht erwähnt, welchen Compiler Sie verwenden: Sie müssen die Flags in meinem Beispiel zu den richtigen für Ihren Compiler ändern. – PiedPiper

+0

Ich benutze GCC, also glaube ich '-m32' ist korrekt, aber aus irgendeinem Grund erzeugt qmake das Makefile mit '-m64' sowieso – Raphael

2

Verwenden Sie win32: vor jedem Befehl, der nur für win32-Architektur ausgeführt werden soll. Oder können Sie einen Bereich als

verwenden
win32 { 
    SOURCES += paintwidget_win.cpp 
} 

Auch können Sie beziehen sich auf die Architektur win32 oder x64 mit dem ($ Platform) MSDN-Makro für Visual Studio.