我在macOS Sierra 10.12上使用Qt 5.6與Qt Creator 4.3。Qt創建者沒有看到Mac Frameworks
我正在構建一個使用OpenGL和OpenCL的基於Qt的應用程序。
某處的軟件或系統更新似乎破壞了Qt Creators爲OpenGL和OpenCL標頭查找標題的能力。
我已經嘗試重新安裝Qt,重新安裝Xcode和Mac SDK,並沒有任何這些選項使其工作。
奇怪的是我的應用程序編譯。 QtCreator本身無法找到頭文件 - 這會使代碼導航更加複雜。
讓我們來看看OpenCL。我有這樣的:
#ifdef __APPLE__
#include <OpenCL/cl.h>
#include <OpenCL/opencl.h>
#endif
我對QMAKE app.pro文件在其內部具有如下:
macx:QMAKE_LFLAGS += -framework OpenCL
而與此似乎編譯。然而,上面QtCreator中的兩個OpenCL#包括一個提示「OpenCL/cl.h:沒有這樣的文件或目錄」的黃色下劃線。
現在我可以看到,它成功地編譯如下QMAKE正在哪裏出了框架是成功追加的路徑:如果我定位到以下目錄中的標頭是有和現在
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.7 -Wall -W -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/Users/me/Projects/app -I. -I/Users/me/Qt5.6.2/5.6/clang_64/lib/QtWidgets.framework/Headers -I/Users/me/Qt5.6.2/5.6/clang_64/lib/QtGui.framework/Headers -I/Users/me/Qt5.6.2/5.6/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I/Users/me/Qt5.6.2/5.6/clang_64/mkspecs/macx-clang -F/Users/me/Qt5.6.2/5.6/clang_64/lib -o main.o /Users/me/Projects/app/main.cpp
現在:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenCL.framework/Versions/A
所以我看不到什麼是缺失。
我曾經試圖「教」 Qt Creator的關於與以下的組合這個框架目錄,但我還沒有發現的東西,將工作:
macx:QMAKE_LFLAGS += -framework OpenCL
macx:INCLUDEPATH += /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenCL.framework/Versions/A/Headers
macx:QMAKE_LFLAGS += -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks
macx:LIBS += -framework OpenCL
我在努力尋找如何QtCreator查找信息Mac上的系統框架以及如何讓它再次開始找到它們。任何幫助將大規模讚賞。