2015-03-21 3 views
2

У меня есть Qt-Creator на OpenSUSE. В нем есть проект на C++ с компилятором «clang». Там у меня есть это '.pro' конфигурации:Qmake - как настроить включить путь?

INCLUDEPATH += "/✪Data_Disk⚜✼/Build/include/c++/v1/" 

LIBS += "-stdlib=libc++" 

LIBS += "/✪Data_Disk⚜✼/Build/lib/libc++abi.a" 

QMAKE_CXXFLAGS += -std=c++14 -stdlib=libc++ 

TARGET = testCpp 

SOURCES += main.cpp 

И когда я компилирую я получил этот результат:

clang++ -c -pipe -Qunused-arguments -std=c++14 -stdlib=libc++ -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/unsupported/linux-clang -I../testCpp -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I/✪Data_Disk⚜✼/Build/include/c++/v1 -I. -I../testCpp -I. -o main.o ../testCpp/main.cpp 

Я хочу, чтобы это было как:

clang++ -c -pipe -Qunused-arguments -std=c++14 -stdlib=libc++ -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/✪Data_Disk⚜✼/Build/include/c++/v1 -I/usr/share/qt4/mkspecs/unsupported/linux-clang -I../testCpp -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I../testCpp -I. -o main.o ../testCpp/main.cpp 

Или:

clang++ -c -pipe -Qunused-arguments -std=c++14 -stdlib=libc++ -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/✪Data_Disk⚜✼/Build/include/c++/v1 -o main.o ../testCpp/main.cpp 

Другими словами - я хочу либо i NCLUDE этот путь (

-I/✪Data_Disk⚜✼/сборки/включать/C++/v1

) до системы определены те или полностью удалить их и оставить только его. Есть идеи?

ответ

2

Если посмотреть в qmake источника, например Win32MakefileGenerator::writeStandardParts() или UnixMakefileGenerator::writeMakeParts() вы увидите, что флаги включены в следующем порядке:

  1. QMAKE_CC
  2. QMAKE_CXX
  3. QMAKE_CFLAGS
  4. QMAKE_CXXFLAGS
  5. INCLUDEPATH
  6. ...

INCLUDEPATH всегда идет после первых четырех. Вы можете использовать QMAKE_CXXFLAGS и добавить -I путь туда:

QMAKE_CXXFLAGS += -I/✪Data_Disk⚜✼/Build/include/c++/v1 
+0

Вообще избежать кода только ответы. Подумайте о добавлении описания, которое поможет объяснить ваш код. Спасибо – MickyD

+0

@ MickyDuncan Я согласен, это было слишком мало для ответа. – svlasov

Смежные вопросы