簡體   English   中英

運行OpenGL而不安裝?

[英]Running OpenGL without installing?

我正在寫一個基於OpenGL的游戲。 它僅包括以下兩個庫:glew,glfw3。 為了運行它,用戶顯然必須安裝了OpenGL,這是我想繞過的假設。 我已經在游戲目錄中收集了所有適當的二進制文件,並嘗試在本地鏈接到這些庫,但是編譯器聲稱未定義其所有功能的引用。 我是在做錯事還是只是不可能? 我正在使用Windows,但由於相同的原因在Linux上失敗。

OpenGL不是您安裝的庫,而是作為驅動程序的一部分實現的API。 您的編譯器抱怨符號無法解析與最終用戶計算機上的情況完全無關。 在您的情況下,聽起來只是您沒有告訴編譯器/鏈接器要鏈接到程序二進制文件的庫和API接口。 因此,您的編譯器在抱怨一些內部引用沒有修改。

這樣就可以了:OpenGL不是您的程序附帶的東西,它是圖形驅動程序的一部分,您的程序必須使用用戶計算機上安裝的任何OpenGL版本。 為此,您可以通過傳遞libGL.so -linker選項-lGL動態鏈接-lGL

GLEW是一個幫助程序庫,它動態地后加載系統OpenGL ABI中找不到的所有OpenGL函數,因此不會通過libGL.so的公共符號表libGL.so 而是使用glXGetProcAddress動態加載glXGetProcAddress -一個相當繁瑣的任務。 請注意,GLEW在OpenGL-3和更高版本的核心配置文件方面存在一些嚴重問題。

GLFW是用於設置具有OpenGL上下文的窗口的簡化框架庫。

GLEW和GLFW可以安全地與程序靜態鏈接,建議您這樣做。 不用-l…標志,而是將libGLEW.alibGLFW.a添加到要鏈接的源文件/編譯單元列表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM