我正在学校上课,我需要使用代码块和C ++,所以我不能使用其他任何东西。我目前的情况是,我的闪存驱动器上安装了代码块,这样我就可以运行所有程序而无需在计算机上安装任何东西。每当我阅读有关如何让opengl在您的计算机上运行的教程时,总会有一个关于将dll复制到system32文件夹或类似内容的部分。但是,我没有对我将要使用的每台计算机的写访问权限。我可以使用任何附加组件,如果这对我有帮助的话,相反,我很好,只有最低限度才能开始学习opengl。另外用linux创建一个可启动的USB然后从那里运行它是没有选择的,因为我相当自信我的老师不希望我获得Linux启用的计算机的root权限。
答案 0 :(得分:0)
如果你想要超级懒,你只需要将类似SDL或GLFW的DLL复制到system32中。否则,您只需将它们复制到可执行文件旁边,Windows就会找到它们just fine:
如果启用了SafeDllSearchMode,则搜索顺序如下:
- 加载应用程序的目录。
- 系统目录。使用GetSystemDirectory函数获取此目录的路径。
- 16位系统目录。没有函数可以获取此目录的路径,但会搜索它。
- Windows目录。使用GetWindowsDirectory函数获取此目录的路径。
- 当前目录。
- PATH环境变量中列出的目录。请注意,这不包括指定的每个应用程序路径 App Paths注册表项。时,不使用App Paths键 计算DLL搜索路径。
如果禁用SafeDllSearchMode,搜索顺序如下:
- 加载应用程序的目录。
- 当前目录。
- 系统目录。使用GetSystemDirectory函数获取此目录的路径。
- 16位系统目录。没有函数可以获取此目录的路径,但会搜索它。
- Windows目录。使用GetWindowsDirectory函数获取此目录的路径。
- PATH环境变量中列出的目录。请注意,这不包括指定的每个应用程序路径 App Paths注册表项。时,不使用App Paths键 计算DLL搜索路径。
更大的问题是确保您想要运行OpenGL代码的所有计算机都具有a viable OpenGL ICD。安装新驱动程序通常需要管理员访问权限。
如果您无法安装新的驱动程序并且您愿意容忍软件光栅化并最大限度地利用OpenGL 3.3,您可以build Mesa opengl32.dll
并将其放在您的旁边可执行文件。