我在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上的系统框架以及如何让它再次开始找到它们。任何帮助将大规模赞赏。