0

在过去的两年里,我一直在使用 Java 和 NetBeans,在我的项目中添加一个新的第三方库所需要做的就是放入 .jar 文件,其余的由 NetBeans 完成。

最近我已经切换到 C++ 和 Visual Studio,由于“缺少参考”错误,我很难让项目使用 OpenGL、GLUT 和 GLEW 进行编译。

一些教程告诉我需要下载 GLUT/GLEW 的项目并运行它们(这不起作用),一些教程告诉我需要将 .dll 文件添加到我的 Win32 文件夹中,其他人说只需将头文件放入与您的项目相同的目录,有人说我需要将这些库安装到 Visual Studio 本身,而不仅仅是我的项目。

到目前为止,这些方法都没有奏效。

我想要的只是让这个项目使用这些库。目前,这对我来说是一个重要的工作,任何帮助将不胜感激。

4

1 回答 1

2

对不起,我没有一个简单的答案给你。多年来,我一直在 Windows 上使用 OpenGL,这可能会很痛苦。

MS 甚至(真的)不支持 OpenGL,Windows 附带的头文件是旧的 1.x 头文件——而且他们没有改变它的计划(他们希望你使用 DX)。

所以,我会从小处着手。

首先,运行一个基本为空的 Win32 控制台“Hello World”应用程序。

然后,只需添加一个组件,例如 Glut。

然后,做同样的事情——保持编译/链接——逐步添加其他组件。

无论他们告诉您将标头、库、DLL 等放在哪里,都需要在您的项目文件中反映出来。所以:

  • 将头文件的位置添加到“C/C++->Additional Include Directories”
  • 将 .lib 文件添加到“链接器->输入->附加依赖项”
  • (它仍然找不到它们)将 .lib 文件的位置添加到“链接器->常规->附加库目录”

有了所有这些,它应该可以编译和链接,但可能无法继续运行,因为它找不到 DLL(与 .lib 文件一起使用)。

运行的最短路径可能只是将 DLL 转储到 Windows/System32 文件夹中。但从长远来看,这可能会出现问题,因为其他应用程序可能会覆盖它(或将您视为覆盖他们的应用程序)。

我对特定 DLL 所做的只是在我的应用程序中显式加载它们,这样我就可以确定我得到的是什么 DLL(我没有做太多特定于 Windows 的 GL,但是当我这样做时,我有自己的 \OpenGL 目录我想要的 .h 文件、库和 DLL 的版本)。

祝你好运!

哦,LoadLibrary() 将加载一个 DLL 等。

于 2012-10-03T19:08:42.647 回答