Где в Qt Creator передать аргументы компилятору? - PullRequest
31 голосов
/ 02 ноября 2011

Где в Qt Creator передать аргументы компилятору?
Это не так уж и очевидно.

Ответы [ 6 ]

34 голосов
/ 02 ноября 2011

В зависимости от вашей системы сборки это либо в вашем файле проекта qmake (.pro, стандарт для новых проектов), либо в одном из CMake файлов (CMakeLists.txt, используемыхKDE и несколько других проектов).

Использование .pro:

QMAKE_CXXFLAGS += -O2

Использование CMake:

set( CMAKE_CXX_FLAGS "-g -Wall")
6 голосов
/ 02 ноября 2011

Чтобы добавить флаги компилятора, откройте файл .pro и добавьте строку, подобную этой:

QMAKE_CXXFLAGS += -std=c++0x

Для стандартных флагов, таких как debug vs. release и т. Д., Вы должны попытаться использовать предопределенные параметры qmake (смотритеДокументация QMake) ради независимости платформы и компилятора, так как QMake отобразит их в специфичные для компилятора флаги.

4 голосов
/ 30 марта 2012

Если вы намереваетесь предварительно скомпилировать некоторый исходный код, вы можете сделать это следующим образом:

/ A / В ваш .pro-файл вы можете добавить строку вроде этой:

DEFINES += HOPLA

/ B / В вашем .cpp или .h файле вы можете использовать его вот так

#ifdef HOPLA
// Do something
#else
// Do something different
#endif
2 голосов
/ 23 марта 2013

для проектов C, добавьте следующую строку в .pro файл

QMAKE_CFLAGS += -std=c99
0 голосов
/ 23 апреля 2019

в файле .pro вы можете добавить переменные, которые изменяют поведение make, например, если вы попытаетесь выполнить следующую команду:

g++ -Wall -I/usr/include/cppconn -o exe main.cpp -L/usr/lib -lmysqlcppconn

Вы должны добавить следующие строки в .pro файл

INCLUDEPATH += /usr/include/cppconn
LIBS += -L/usr/lib -lmysqlcppconn

Просмотр снимка экрана

Для получения дополнительной информации о доступных переменных, которые использует QT IDE, вы можете посетить следующую ссылку, где они более подробно объясняют каждую из них. Документация Qt: переменные

0 голосов
/ 02 ноября 2011

В вашем файле проекта Qmake возможно

...