我正在使用premake来使用OpenGL sdk来创建新项目。我正在尝试整理我的第一个真正的项目,但是当我运行premake4 vs2010命令时出错了。我试图使用UseLibs函数来访问OpenGL sdk元素,但是Premake正抛出一个错误,该错误如下:
“尝试调用全局'UseLibs‘(一个零值)
这是lua代码:
solution "OpenGL"
configurations {"windows", "linux", "Debug", "Release"}
project "MyProject"
kind "ConsoleApp"
language "c++"
files {"First OpenGL v3\*.cpp", "First OpenGL v3\*.h"}
UseLibs {"glimage", "glload", "freeglut", "glutil", "glmesh", "glfw", "glm"}
configuration "windows"
defines "WIN32"
links {"glu32", "opengl32", "gdi32", "winmm", "user32"}
configuration "linux"
links {"GL"}
configuration "Debug"
targetsuffix "D"
defines "_DEBUG"
flags "Symbols"
configuration "Release"
defines "NDEBUG"
flags {"OptimizeSpeed", "NoFramePointer", "ExtraWarnings", "NoEditAndContinue"};
这里的大部分代码都是基于它在教程上要做的事情,所以我不知道为什么会有这个错误。我在这方面很新,所以如果你看到任何其他问题,请告诉我。谢谢。
发布于 2011-11-25 23:28:27
请允许我引用你所链接的内容:
无论主premake4.lua文件是否完成所有工作,首先要执行以下指令:
dofile("path/to/GLSDK/links.lua")
我在您的Premake4构建脚本中看不到这一行。
此外,没有必要同时包括FreeGLUT和GLFW。您不可能在同一个应用程序中同时使用它们,因为它们都执行相同的任务。他们创建OpenGL窗口。我的意思是,我想你可以同时使用它们,但这似乎不太可能奏效。
你的程序使用一个或另一个。无论它使用哪一种,都应该放在UseLibs
命令中。
另外:
configurations {"windows", "linux", "Debug", "Release"}
windows
和linux
不是正常的、用户指定的配置.它们是OS配置。您没有将它们列在解决方案配置的列表中;它们是系统的一部分。把它们列在这里可能会引起问题。
https://stackoverflow.com/questions/8276949
复制