0

操作系统:Windows 7

我的桌面上有源文件以及我在一个目录中使用的所有库文件。我正在使用安装 MinGW 时创建的 msys.bat 运行 shell。我尝试运行以下(以及许多其他):

g++ -I. -L. -o opengltest.exe opengltest.cpp -lglew32 -lglew32s -lglew32.dll

我收到以下错误:

c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lglew32.dll

collect2: ld returned 1 exit status

当我使用-L开关和整个C:/Users/...路径时也会发生这种情况,但我得到了同样的错误。同样,glew32.dll 与 .cpp 位于同一目录中,这与我在 shell 中工作的目录相同。我已经从多个帖子中尝试了多种解决方案,但似乎我仍然遗漏了一些东西。我认为使用-L.是告诉 MinGW 查看工作目录的一种简单方法,但显然它不是那样工作的。

4

1 回答 1

1

不要在同一应用程序中同时链接 glew 的动态和静态链接版本。这是没有意义的。也不要链接glew32.dll,这同样没有意义。

最重要的是,根本不要将 glew 的 DLL 版本与 g++ 一起使用-它不起作用(请参阅我以前的答案之一以了解原因)。相反,#define GLEW_STATIC(如果您-DGLEW_STATIC用作编译器开关会更好)并且链接到glew32s.

于 2013-09-15T21:16:33.867 回答