其他分享
首页 > 其他分享> > c – Qmake – 如何配置包含路径顺序?

c – Qmake – 如何配置包含路径顺序?

作者:互联网

我在OpenSUSE上有Qt-Creator.在它中有一个带有编译器’clang’的C项目.我有’.pro’配置:

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/✪Data_Disk⚜✼/Build/include/c++/v1

)在系统定义之前或完全删除它们并仅留下它.有任何想法吗?

解决方法:

如果您查看qmake源代码,例如Win32MakefileGenerator :: writeStandardParts()或UnixMakefileGenerator :: writeMakeParts(),您将看到标志包含在以下顺序中:

> QMAKE_CC
> QMAKE_CXX
> QMAKE_CFLAGS
> QMAKE_CXXFLAGS
> INCLUDEPATH
> ……

INCLUDEPATH总是在前四个之后.你可以使用QMAKE_CXXFLAGS并在那里添加-I路径:

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

标签:opensuse,c,clang-2,qt-creator,qmake
来源: https://codeday.me/bug/20190830/1765053.html