Xcode 拒绝构建我的一个 OpenCL 项目,但成功构建了另一个项目
Xcode refuses to build one of my OpenCL projects but builds another one successfully
我在Xcode中有两个项目,它们都使用OpenCL和cl.hpp
- OpenCL包装器进行C++。
我使用的是 Mac OS 10.11.4,使用 clang-703.0.29 版本 7.3.0 和最新(而且非常奇怪(的 Xcode 版本(版本 7.3 (7D175((。
第一个项目编译和构建得很好。构建的结果是一个静态库(.a
文件(。第二个使用这个库(我只是将库和标头复制并粘贴到这个项目的目录中(。我也OpenCL.framework
与这个项目联系起来。
问题是,第二个项目没有构建。它说:
CGLTypes.h - 枚举器之间缺少",">
此错误位于第 75 行:
kCGLPFAStereo OPENGL_ENUM_DEPRECATED(10_0, 10_11) = 6,
这是我遇到的唯一错误。当cl.hpp
包含包含OpenCL/cl_gl_ext.h
#include <OpenGL/CGLTypes.h>
OpenCL/opencl.h
时,就会发生这种情况。
基本 SDK 设置为"最新"(OS X 10.11(。这里发生了完全相同的问题,但已通过操作系统更新解决了。我的Mac OS版本已经是最新版本,所以我不能这样做。
综上所述,问题在于两个项目使用相同版本的 OpenCL,构建在同一台机器上,具有相同的设置、相同的编译器等,但其中一个无法编译。
编辑:这是第一个项目的链接:GitHub上的Matrix。我会尽快添加第二个。事实上,它是一个使用矩阵对矩阵进行操作的ANN。我唯一要做的就是包括cl.hpp
和来自 Matrix 的所有.hpp
。我也在尝试与.a
Matrix库链接,但构建过程甚至没有达到这个阶段。
我应该怎么做才能解决这个问题?
好吧,问题是第二个("损坏"(项目出于某种原因使用了旧版本的 Xcode 工具(CreatedOnToolsVersion = 7.1
(。第一个是用CreatedOnToolsVersion = 7.3;
建造的.
如果我在没有 OpenCL 支持的情况下构建 Matrix,并将第二个项目与生成的.a
库链接,一切正常,因此问题显然出在 OpenCL 和不同的CreatedOnToolsVersion
设置上。
通过创建一个新项目并将文件复制到那里解决了这个问题。
特别感谢@Yakk在评论中的建议!
- 无法在 CLion 中构建 C++ 项目
- 文本冒险游戏 - 如何区分一种项目类型与另一种项目类型以及如何构建项目类/子类
- 使用 Premake5 构建项目不会生成可执行文件或中间体
- 在OSx:ld上使用CMake构建C++项目:找不到体系结构x86_64的符号
- 无法从 bazel 使用 boost/iostream 构建项目包
- 如何使用MSBUILD V15构建C 项目
- 在Omnet 中构建项目时发生错误
- 如何一次在Visual Studio 2015和Visual Studio 2002中构建C 项目
- 在构建C++项目时提升相关错误
- Unity webGL - MacOS 上的构建项目失败
- 使用CMAKE,NINJA和CLANG构建项目,以竞争2019年
- 在使用Bazel Build构建项目期间,处理/选择界面的不同实现
- 当您的外部SDK仅具有.dll,.lib,.h文件时,如何链接和构建项目
- 尝试在Qt中升级Debian后构建项目
- 使用 Conan C/C++ 包管理器构建项目
- CMAKE:构建项目时执行C 文件
- 从VS2008升级后,VS2012中的构建项目显示错误
- OPENCV,使用CMAKE构建C 项目时的链接错误
- Eclipse 在添加 .h 和 .cpp 文件后不会构建项目
- 如何在Xcode4上从头开始构建C++项目-链接现有和新的外部库