2014-12-29 24 views
5

Podczas gdy inne pliki źródłowe używają flag domyślnych? Niektóre z moich plików źródłowych wymagają pewnych dodatkowych preprocesorów C++. Używam Qt 5. Odkryłem, że QMAKE_CXXFLAGS jest do użytku globalnego w projektach qmake.Jak określić flagę kompilatora do pojedynczego pliku źródłowego za pomocą qmake?

+0

Twoja ostatnia linia jest zaproszeniem do głosowania w dół i zamknięcia głosów. Sugeruję, abyś to usunął. Czy możesz wyjaśnić, dlaczego chcesz utworzyć jeden plik inaczej niż pozostałe? Co próbujesz osiągnąć? – lpapp

+0

@lpapp dzięki za radę. Ponownie edytuję moje pytanie. – cetron

Odpowiedz

4

to co kiedyś zrobić w teorii dla GUI malarstwa w źródle Qt samego:

SOURCES_NOOPTIMIZE = somefile.cpp 
nooptimize.name = nooptimize 
nooptimize.input = SOURCES_NOOPTIMIZE 
nooptimize.dependency_type = TYPE_C 
nooptimize.variable_out = OBJECTS 
nooptimize.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)} 
nooptimize.commands = $${QMAKE_CXX} $(CXXFLAGS) -O0 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} # Note the -O0 
QMAKE_EXTRA_COMPILERS += nooptimize 

Zobacz również zaawansowany użytku in the documentation jak dodać kompilatora:

specyfikacji klienta kompilatora wspierać następujące elementy:

Opis

Użytkownik

Polecenia Polecenia użyte do wygenerowania wyjścia z wejścia.

CONFIG Określone opcje konfiguracji niestandardowego kompilatora. Szczegółowe informacje znajdują się w tabeli CONFIG.

depend_command Określa polecenie używane do generowania listę zależności do wyjścia.

dependency_type Określa typ pliku wyjściowego. Jeśli jest to znany typ (taki jak TYPE_C, TYPE_UI, TYPE_QRC), jest traktowany jako jeden z tych typów plików.

zależy od Określa zależności pliku wyjściowego.

wejście Zmienna określająca pliki, które powinny zostać zrealizowane z niestandardowym kompilator.

nazwa Opis czynności wykonywanych przez niestandardowy kompilator. Jest to używane tylko w niektórych backendach.

wyjście Nazwa pliku utworzonego z niestandardowego kompilatora.

output_function Określa niestandardową funkcję QMake, który jest używany do określenia nazwy pliku który ma zostać utworzony.

zmienne Wskazuje, że zmienne wymienione tutaj są zastępowane $ (QMAKE_COMP_VARNAME), kiedy, o której mowa w pliku pro jak $ (VARNAME).

zmienna_out Zmienna, do której powinny zostać dodane pliki utworzone z danych wyjściowych.