c++ - Mac + Netbeans C++ OpenGL 问题

标签 c++ macos opengl netbeans

我正在尝试使用 Netbeans 在 Mac 上使用 C++ 开发 OpenGL 程序,但存在一些编译错误:

"/usr/bin/make"-f nbproject/Makefile-Release.mk QMAKE= SUBPROJECTS= .build-conf “/usr/bin/make”-f nbproject/Makefile-Release.mk dist/Release/GNU-MacOSX/sdl_test mkdir -p 构建/发布/GNU-MacOSX rm -f build/Release/GNU-MacOSX/main.o.d g++ -c -O2 -MMD -MP -MF build/Release/GNU-MacOSX/main.o.d -o build/Release/GNU-MacOSX/main.o main.cpp main.cpp:9:41: 警告:OpenGL.framework/Headers/gl.h:没有那个文件或目录

我的代码就这么简单:

#include <iostream>
#include <OpenGL.framework/Headers/gl.h>

/*
 * 
 */
int main(int argc, char** argv) {
    std::cout << glGetString(GL_VERSION) << std::endl;

    return 0;
}

即使我在项目设置中添加了包含路径和 lib 文件,编译器也找不到 OpenGL 头文件。这真是令人困惑..

最佳答案

在您的项目属性中转到 C++ Compiler .在 Include Directories 下添加 /System/Library/Frameworks .在 Linker 下在底部 Additional Options添加 -framework OpenGL .

将您的包含指令更改为 #include <OpenGL/gl.h>

现在您应该可以编译您的程序了。但我似乎遗漏了一些东西,因为当我调用 glGetString 时出现段错误...

#include <iostream>
#include <OpenGL/gl.h>

int main(int argc, char** argv) {
    const GLubyte* version = glGetString(GL_VERSION); // segmentation fault

    return 0;
}

关于c++ - Mac + Netbeans C++ OpenGL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4175984/

相关文章:

c++ - 去除 OpenGL 橡皮筋伪影

c++ - 强制 std::string 使用 unsigned char(0 到 255)而不是 char(-128 到 127)

c++ - 如何在Windows 2016 Server版本1607中访问SetThreadDescription()

python - 在 MacOS 上使用 pyuno 进行文件转换

无法在其他计算机上运行由Visual Studio 2010编译的opengl程序

c++ - 镜面反射不正确

c++ - 将 boost::bind 成员函数传递给 wt 监听器。我做错了什么?

c++ - 从 libav 收集解码的音频作为 double

php - 安装 PEAR SOAP 失败

ios - iCloud:在 IOS 和 OSX 之间同步核心数据