当前位置: 首页 > 面试题库 >

如何构建和安装GLFW 3并在Linux项目中使用它

苗学民
2023-03-14
问题内容

昨晚我工作很晚,试图从源代码为Linux构建GLFW
3软件包。这个过程花了我很长的时间,总共约3个小时,部分是因为我不熟悉CMake,部分是因为我不熟悉GLFW。

我希望这篇文章能使您摆脱昨天遇到的麻烦!我以为我应该写些简短的文章,并希望为您节省几个小时的生活…

多亏了#glfw IRC频道上的“ urraka”,“ b6”和“ niklas”,我才能够使用glfw 3.0.1版。

事实证明,这并不是一个微不足道的过程(肯定不是我一个人,我也不是专家),因为在网络上没有太多有关glfw3的文档,特别是有关使用CMake进行设置的文档。

我被要求将其分为一个问答部分,所以我做到了,现在下面是答案部分。

您是GLFW的维护者,还是GLFW团队的成员?

如果GLFW3的任何维护者看到此消息,那么我给他们的信息是,请在您的网站上添加“在Windows,Mac OS
X和Linux上设置GLFW3”部分!使用GLFW编写程序非常容易,因为在线文档非常好,可以快速扫描所有可用的类和模块,您就可以开始使用。这里特色的测试项目的例子也很好。我发现的两个主要问题是,第一,如何在系统上设置GLFW3,第二,如何构建GLFW3项目?对于非专家来说,这两件事可能还不够清楚。

编辑

今天(日期:2014年1月14日)进行了简要介绍,看来自我上次浏览以来,GLFW网站已经发生了重大变化,现在有一节介绍如何使用GLFW编译GLFW和构建程序,我认为这是新的。


问题答案:

步骤1:使用CMAKE在系统上安装GLFW 3

对于此安装,我使用的是64位KUbuntu 13.04。

第一步可能是使用此链接从www.glfw.org下载最新版本(假设以后的版本以类似的方式)。

下一步是提取档案,然后打开一个终端。cd进入glfw-3.XX目录并运行,cmake -G "Unix Makefiles"您可能需要提升的特权,并且还可能需要先 安装构建依赖项 。要做到这一点,尝试sudo apt-get build-dep glfw sudo apt-get build-dep glfw3 做手工 ,像我一样用sudo apt-get install cmake xorg-dev libglu1-mesa- dev......有可能是你需要其他库,如并行线程库......显然,我有他们了。(请参阅下面提供给g ++链接器阶段的-l选项。)

现在,您可以输入make,然后输入make install,可能需要sudo先输入。

好的,您应该在最后三个CMake阶段得到一些详细的输出,告诉您已构建的内容或放置位置。(/usr/include例如,在中。)

步骤2:建立测试程式并进行编译

下一步是启动vim(您说“什么?!vim ?!”)或您喜欢的IDE /文本编辑器…我没有使用vim,而是使用Kate,因为我使用的是KUbuntu
13.04。无论如何,请从此处(页面底部)下载或复制测试程序,然后保存并退出。

现在,编译使用g++ -std=c++11 -c main.cpp-不知道C ++ 11的 要求
,但我用nullptr的话,我需要它。你可能需要将GCC升级到4.7版本,或即将推出的4.8版…信息上这里。

然后,如果您手动键入程序或试图“太聪明”而无法解决某些错误,则修复错误,然后使用此怪物将其链接​​!g++ main.o -o main.exec -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi如此一来,在“安装生成依赖项”部分中,您可能还需要检查是否还安装了GL,GLU,X11 Xxf86vm(无论是什么)Xrandr posix-
thread和Xi(无论是什么) 开发 库。也许也要更新图形驱动程序,我认为GLFW
3可能需要OpenGL版本3或更高版本?也许有人可以确认?-ldl -lXinerama -lXcursor如果要获取未定义的引用dlclose(贷记为@ user2255242),则可能还需要添加链接器选项才能使其正常工作。

而且,是的,我确实确实需要那么多-l

步骤3:您完成了,祝您愉快!

希望这些信息是正确的,一切对您都有用,并且您喜欢编写GLFW测试程序。也希望本指南对将来像我 今天 一样挣扎的一些人有所帮助或将对他们有所帮助!

顺便说一下,所有标签都是我在stackoverflow上搜索的东西,目的是寻找不存在的答案。(直到现在。)如果您的位置与我自己相似,希望它们是您要搜索的内容。



 类似资料:
  • 问题内容: 我已经在Ubuntu中安装了Jenkins,而当我尝试在Jenkins中构建iOS应用时,会发生以下错误: 严重:找不到具有配置的路径/ usr / bin / xcodebuild的xcodebuild。 问题答案: 该工具是Apple Xcode SDK的一部分-仅可在Mac OS X上下载。 您不能简单地使用官方的iOS工具在未运行OS X的计算机上进行构建。 这意味着,如果您有

  • 问题内容: 我已经在Eclipse IDE中创建了一个Aspectj项目,但是我需要使用Maven来构建它。 我有maven-aspectj插件,但不知道如何使用它。 问题答案: 以下是我执行此步骤的步骤。这给了我编译时的编织。如果您需要其他策略,显然您需要其他方法(例如用于运行时AOP代理的Spring AOP )。 添加一个属性以标准化您使用的AspectJ版本: 添加运行时依赖项: 添加As

  • Lavas 目前支持两种渲染模式,分别是服务端渲染 (SSR) 和 浏览器端渲染。 而浏览器端渲染时,整个项目构建完成后只有一个 HTML 入口 index.html,因此这时本质上等价于单页应用,即 SPA。 从小型站点的开发需求来说,SPA 和 SSR 已经能够覆盖绝大部分。让我们更进一步,考虑如下两种情况: 整个站点的一部分需要使用 SSR 模式渲染,另一部分使用 SPA 模式渲染。 整个站

  • 问题内容: 我是python的新手。最近,我有一个用python编写的项目,需要进行一些安装。我运行以下命令进行安装,但出现错误。 我在Google上搜索并找到了此链接,但我不太了解该帖子中的解决方案。 以下是我的requirements.txt文件: 有没有简单的方法来在此python项目中安装所有必需的依赖项? 编辑1 以下是的输出。 我已经安装了,但是pip命令仍然报告缺少此依赖项。 问题答

  • 我的项目有一个功能良好的TFS构建设置,它与我以前的android项目配合得很好。 所以最近我创建了一个新的Android项目,我试图用TFS构建和创建一个apk,但是当它启动单元测试部分时,我得到了一个错误,它说: 未能应用插件的com。Android内部的应用程序'。 Android Gradle插件需要Java11才能运行。您正在使用Java1.8。您可以尝试以下选项: 更改IDE设置。 改

  • 我尝试使用mojo插件在Maven中配置sencha cmd。Maven配置如下所示: 我设置了环境变量(在我的示例中,我使用的是Windows操作系统)。当我尝试执行命令时,会出现错误: 未能在project Vehicle-Store上执行goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec(sencha-compile):命令执行失败。无法运