Visual studio OpenGL SDK如何使用Premake创建新项目 我最近开始学习OpenGL的过程,开始使用C++编写一些图形化的应用程序。我已经安装了OpenGL SDK,并且能够在此基础上正确构建项目。然而,在OpenGL SDK站点上,关于如何使用SDK元素(如freeglut等)创建新项目的信息很少甚至没有。我已经准备好了4.0,我知道我必须处理lua文件,但我不知道lua,也不确定如何使用lua文件创建新项目。你能帮我吗?我在使用VS2010,我应该创建项目,然后用premake做些什么吗?或者创建某种lua文件,然后使用premake?任何帮助都会很好,因为我非常迷路,非常想开始使用OpenGL。我对此做了很多实验,例如从sdk复制lua文件,但没有成功。

Visual studio OpenGL SDK如何使用Premake创建新项目 我最近开始学习OpenGL的过程,开始使用C++编写一些图形化的应用程序。我已经安装了OpenGL SDK,并且能够在此基础上正确构建项目。然而,在OpenGL SDK站点上,关于如何使用SDK元素(如freeglut等)创建新项目的信息很少甚至没有。我已经准备好了4.0,我知道我必须处理lua文件,但我不知道lua,也不确定如何使用lua文件创建新项目。你能帮我吗?我在使用VS2010,我应该创建项目,然后用premake做些什么吗?或者创建某种lua文件,然后使用premake?任何帮助都会很好,因为我非常迷路,非常想开始使用OpenGL。我对此做了很多实验,例如从sdk复制lua文件,但没有成功。,visual-studio,opengl,sdk,lua,premake,Visual Studio,Opengl,Sdk,Lua,Premake,如果您不熟悉Premake4,那么我强烈建议您直接使用Visual Studio项目。如果您在这方面遇到了问题,那么请用您所做的以及Visual Studio在尝试构建时给出的错误消息来修正您的问题。你应该包括: 其中包括路径。完整的包含路径集,包括完整的绝对目录名(包括项目和解决方案文件的路径) 静态库搜索路径 包括的静态库 您正在使用的定义 注:如果你不知道这些是什么,那么你需要停下来,学习更多关于C++项目如何工作的知识。您需要了解编译器如何处理包含路径、静态库、定义等 如果您不熟悉

如果您不熟悉Premake4,那么我强烈建议您直接使用Visual Studio项目。如果您在这方面遇到了问题,那么请用您所做的以及Visual Studio在尝试构建时给出的错误消息来修正您的问题。你应该包括:

  • 其中包括路径。完整的包含路径集,包括完整的绝对目录名(包括项目和解决方案文件的路径)
  • 静态库搜索路径
  • 包括的静态库
  • 您正在使用的定义
注:如果你不知道这些是什么,那么你需要停下来,学习更多关于C++项目如何工作的知识。您需要了解编译器如何处理包含路径、静态库、定义等



如果您不熟悉Premake4,并且仍然希望在SDK中使用Premake4,那么您首先必须熟悉没有SDK的Premake4。我可以给你一个完整的premake4.lua脚本,你只需插入,修改几行,一切都会神奇地工作(如果你愿意,你可以看看SDK的示例是如何构建的。特别是
examples/premake4.lua
)。但如果我那样做了,你什么也学不到。你只需要复制和粘贴代码,而对它的工作原理没有一点了解

因此,我将告诉您应该采取哪些步骤来学习如何使用Premake4

第1步:你好,世界,Premake风格。您应该创建一个.cpp文件,它是Hello World应用程序。它只有一个标准的
main
功能,可以将“Hello World”打印到控制台。这是最简单的部分

最难的部分是Premake4脚本。与其直接创建Visual Studio项目,不如编写一个Premake4脚本来为您构建该项目

Premake4文档可以引导您完成制作文档的步骤。你当然需要这样做。您还应该这样做,以便可以进行调试和发布构建。调试版本应该有符号,发布版本应该优化

步骤2:多个项目。这里有两个.cpp文件:
test.cpp
main.cpp
。在
test.cpp
中,放置一个打印内容的函数。函数不应该接受参数或任何东西。在
main.cpp
中,您应该拥有调用
test.cpp
中定义的函数的
main
函数。还应该有一个
test.h
,它具有
test.cpp
中定义的函数原型

这里的诀窍是,您没有将它们编译到同一个可执行文件中。不直接。您需要两个项目:一个名为
test
,另一个名为
main
test
项目应该是一个静态库,它编译
test.cpp
main
项目将是编译
main.cpp
的实际可执行文件。它们都应该在文件列表中包含
test.h

在这里,您了解到解决方案可以有多个
项目。这两个项目有不同的文件列表。每个项目都可以有一个单独的版本,它单独决定了该项目的构建类型。
test
项目应该是
StaticLib
,而
main
项目应该是
ConsoleApp

您还需要学习使用命令将它们链接在一起。
main
项目应该使用
links
来指定
test
<代码>测试
不需要链接到某个内容

步骤3:主控目录

在这里,您将执行与步骤2相同的操作。除了一件事:将
test.h
test.cpp
放在不同的目录(当前目录的子目录)中。您还需要该目录中的
test.lua
文件,您将使用
dofile
命令从主
premake4.lua
文件执行该文件。
test.lua
是定义
test
项目的地方。使用
solution
命令创建解决方案后,您可以随时在
test.lua
文件上调用
dofile

请注意,
main
项目需要更改它找到
test.h
的目录。您还需要在
main
项目中使用
includedirs
命令来告诉编译器在哪里搜索包含在
main.cpp
中的
test.h

第4步:返回SDK。在这一点上,您现在应该对Premake4足够熟悉,以便回顾并更好地理解它们。然后,按照说明去做。当它告诉您脚本的第一行应该是什么时,将其作为脚本的第一行。将
UseLibs
函数放在它所说的放置