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
Macos 在Mac OSX 10.9上使用GLFW库的OpenGL 3.3/4.1_Macos_Opengl_Glfw - Fatal编程技术网

Macos 在Mac OSX 10.9上使用GLFW库的OpenGL 3.3/4.1

Macos 在Mac OSX 10.9上使用GLFW库的OpenGL 3.3/4.1,macos,opengl,glfw,Macos,Opengl,Glfw,我正在尝试在MacOSX 10.9上使用OpenGL 3.3/4.1,现在它终于可以使用了。我一直在使用SuperBible 5的书和它的例子来学习3.3。我刚刚发现它实际上只运行OpenGL 2.1,但对于我的示例,当我的顶点着色器开始拒绝编译时。我发现我需要找到这个GLFW库来为我做OpenGL窗口。这个库将允许我使用OSX能够运行的OpenGL的4.1版本。我的问题是,有没有人有Mac OSX 9 OpenGL库GLFW 3.0.4版的静态版本可以发送给我?尝试从头开始构建库是一种真正的痛

我正在尝试在MacOSX 10.9上使用OpenGL 3.3/4.1,现在它终于可以使用了。我一直在使用SuperBible 5的书和它的例子来学习3.3。我刚刚发现它实际上只运行OpenGL 2.1,但对于我的示例,当我的顶点着色器开始拒绝编译时。我发现我需要找到这个GLFW库来为我做OpenGL窗口。这个库将允许我使用OSX能够运行的OpenGL的4.1版本。我的问题是,有没有人有Mac OSX 9 OpenGL库GLFW 3.0.4版的静态版本可以发送给我?尝试从头开始构建库是一种真正的痛苦,因为它涉及到安装CMake,然后是库代码,然后试图让所有这些一起工作并编译。我真的只需要这个库就可以开始运行OpenGL 3.3/4.1了。

要从源代码构建GLFW库,只需要几个步骤:

  • 下载并解压缩GLFW源代码

  • 打开终端

  • cd
    到提取的目录

  • 键入
    cmake.
    ,点击return

  • 将为您创建一个
    Makefile

  • 输入
    make
    ,点击return

  • 编译过程结束后,键入
    sudomakeinstall

  • 库将被复制到
    /usr/local/lib/
    ,头文件将被复制到
    /usr/local/include/


    注意:您需要安装一个编译器套件来构建软件,这通常是XCode命令行工具包。为此,请从应用商店安装并启动XCode或从下载工具。

    我建议通过自制安装glfw 优点是,通过执行
    brew uninstall glfw3
    ,您可以轻松地卸载它

    您需要安装“用于Xcode的命令行工具”和Xcode

    xcode选择--安装

    安装自制软件后,打开终端并运行

    brew更新

    brew点击自制/版本

    brew为glfw3安装glfw3
    ,或

    brew为glfw2安装glfw2

    此外,如果需要静态构建,请使用标志
    --static

    brew安装——静态glfw3

    库和包含文件将在
    usr/local/lib
    usr/local/include

    现在,如果您有一个依赖于opengl和glfw的程序,您可能希望编译它如下:
    gcc program.c-o myapp-framework OpenGl-lglfw3
    (或-lglfw2)

    如果glfw头文件仍然存在一些问题,可以执行以下操作:


    gcc program.c-o myapp-framework OpenGl-I/usr/local/include-lglfw3

    如果链接器有问题,请尝试如下编译:

    g++ youSource.cpp -I/usr/local/include -L/usr/local/lib -lglfw3 -framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation -framework CoreVideo
    
    或者只是:

    g++ youSource.cpp -I/usr/local/include `pkg-config --cflags glfw3`  `pkg-config --static --libs glfw3`
    

    嗨,亚当。谢谢。我现在就试试这个。我对非实时图形编程很在行,但对OpenGL还不是很在行。嗨,亚当,非常感谢。你是上帝派来的。这很有魅力。我必须在Maverics中启用root用户,然后才能“su root”并安装到/user/local/libs和include目录。否则,我没有安装到此目录的权限。没问题!很好,它能工作。请注意,您可以始终使用
    sudo
    来运行具有root权限的命令,而不是
    suroot
    ,例如
    sudo make install
    。(别忘了把这个答案标记为已接受;-)顺便说一句,如果我是你,我就不再叫它Mac OSX 9了。我看到这一点,立刻想到了“MacOSClassic”,因为我的脑子里没有了“X”。该平台/版本的官方名称实际上是MacOSX10.9HiAdam。好的,谢谢。如果我说OSX 9,那就是我的错误!我想每个人都会知道这是特立独行的。是的,这只是有点让人困惑,因为在OSX之前,苹果有着普通的“MacOS”。有一个Mac OS 9,这是Mac OS迁移到OS X之前的最后一个版本。当OS X首次发布时,机器将附带它和一个Mac OS 9的副本(为了与旧软件兼容)。这被亲切地称为“MacOS经典”。因此,对于资深的OS X用户来说,将其称为Mac OSX 9可能会让人非常困惑;)与我的brew不兼容!错误:glfw3搜索公式没有可用公式。。。搜索水龙头。。。homebrew/versions/GLFW3现在,
    brew安装glfw
    将安装glfw-3.2.1。而且它的最低限度使用可能是
    g++main.cpp-lglfw
    @Pranjal@Hustlion似乎不再正确了——没有
    glfw
    glfw3
    这样的公式我可以从brew安装该软件包。只需要对编译器库链接使用“glfw”,而不是“glfw3”。第一个命令对我有效。你介意解释一下后面的部分吗?(-framework Cocoa-framework OpenGL-framework IOKit-framework CoreFoundation-framework CoreVideo)