Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac+;netbeansc++;OpenGL问题 我尝试用NETBeice开发C++上的Mac上的OpenGL程序,还有一些编译错误:_C++_Macos_Opengl_Netbeans - Fatal编程技术网

Mac+;netbeansc++;OpenGL问题 我尝试用NETBeice开发C++上的Mac上的OpenGL程序,还有一些编译错误:

Mac+;netbeansc++;OpenGL问题 我尝试用NETBeice开发C++上的Mac上的OpenGL程序,还有一些编译错误:,c++,macos,opengl,netbeans,C++,Macos,Opengl,Netbeans,“/usr/bin/make”-f nbproject/Makefile-Release.mk QMAKE=子项目=.build conf “/usr/bin/make”-f nbproject/Makefile-Release.mk dist/Release/GNU MacOSX/sdl_test mkdir-p构建/发布/gnumacosx rm-f构建/发布/GNU MacOSX/main.o.d g++-c-O2-MMD-MP-mfbuild/Release/gnumacosx/main

“/usr/bin/make”-f nbproject/Makefile-Release.mk QMAKE=子项目=.build conf “/usr/bin/make”-f nbproject/Makefile-Release.mk dist/Release/GNU MacOSX/sdl_test mkdir-p构建/发布/gnumacosx rm-f构建/发布/GNU MacOSX/main.o.d g++-c-O2-MMD-MP-mfbuild/Release/gnumacosx/main.o.d-o build/Release/gnumacosx/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;
}
#包括
#包括
/*
* 
*/
int main(int argc,字符**argv){

std::cout编译器在其搜索路径中找不到引用的头文件。请尝试在硬盘上手动查找该文件,然后确保编译器在其搜索路径中具有该位置。

编译器在其搜索路径中找不到引用的头文件。请尝试在硬盘上手动查找该文件,然后确保mpiler在其搜索路径中有该位置。

在项目属性中,转到
C++编译器
。在
下包括目录
添加
/System/Library/Frameworks
。在
下链接器
下,在底部的
附加选项
添加
-framework OpenGL

将include指令更改为
#include

现在你应该可以编译你的程序了。但是我似乎遗漏了一些东西,因为我在调用
glGetString
时遇到了一个分段错误

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

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

    return 0;
}
#包括
#包括
int main(int argc,字符**argv){
const GLubyte*version=glGetString(GL_version);//分段错误
返回0;
}

在项目属性中,转到
C++编译器
。在
下包括目录
添加
/System/Library/Frameworks
。在底部的
链接器
下,在
附加选项
下添加
-framework OpenGL

将include指令更改为
#include

现在你应该可以编译你的程序了。但是我似乎遗漏了一些东西,因为我在调用
glGetString
时遇到了一个分段错误

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

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

    return 0;
}
#包括
#包括
int main(int argc,字符**argv){
const GLubyte*version=glGetString(GL_version);//分段错误
返回0;
}

您缺少了OpenGL上下文的创建,没有它您无法调用GL函数。嘿,bjoernz,它终于起作用了!但我这里有几个问题:1.我可以理解将“/System/Library/Frameworks”添加到“Include Directory”中,但为什么我可以直接包含“”?路径名应该是“OpenGL.framework/headers/GL.h”..2.此方法不向链接器提供lib文件提示,但链接器如何找到lib文件?苹果引入了
-framework
选项,它将
转换为幕后的正确路径。它还向链接器提供必要的信息。您可以在您缺少的页面上阅读有关该主题的更多信息创建OpenGL上下文时,如果没有上下文,就无法调用GL函数。嘿,bjoernz,它终于可以工作了!但我这里有几个问题:1.我可以理解将“/System/Library/Frameworks”添加到“Include Directory”,但为什么我可以直接包含“”?路径名应该是“OpenGL.framework/headers/GL.h”…2.此方法不向链接器提供lib文件提示,但链接器如何找到lib文件?Apple引入了
-framework
选项,它将
转换为幕后的正确路径。它还为链接器提供了必要的信息。您可以在