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?
Odpowiedz
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:
OpisUż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.
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
@lpapp dzięki za radę. Ponownie edytuję moje pytanie. – cetron