0

OpenGL sdkを使用して新しいプロジェクトを作成するために premake を使用しています。初めての実際のプロジェクトをまとめようとしていますが、premake4 vs2010 コマンドを実行するとエラーが発生します。UseLibs 関数を使用して OpenGL SDK 要素にアクセスしようとしていますが、premake が次のようなエラーをスローしています。

"グローバル 'UseLibs' (nil 値) を呼び出そうとしています

ルアコードは次のとおりです。

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"};

ここのコードの多くは、チュートリアルで実行するように指示されていることに基づいているため、なぜこのエラーが発生するのかわかりません。私はこれにかなり慣れていないので、他に問題があれば教えてください。ありがとう。

4

1 に答える 1

0

あなたがリンクしたものから引用させてください:

メインの premake4.lua ファイルがすべての作業を行うかどうかに関係なく、最初に行うべきことは次の命令を実行することです。

dofile("path/to/GLSDK/links.lua")

Premake4 ビルド スクリプトにその行がありません。

また、FreeGLUT と GLFWの両方を含める必要はありません。どちらも同じことを行うため、同じアプリケーションで両方を使用することはできません。OpenGL ウィンドウを作成します。つまり、おそらく両方を使用できると思いますが、機能する可能性は低いようです.

あなたのプログラムはどちらか一方を使用します。どちらを使用しても、UseLibsコマンドに入力する必要があります。

また:

configurations {"windows", "linux", "Debug", "Release"}

windowslinux通常のユーザー指定の構成ではありません。それらは OS 構成です。ソリューション構成のリストにそれらをリストしません。それらはシステムの一部です。それらをここにリストすると、問題が発生する可能性があります。

于 2011-11-26T07:28:27.990 に答える