使用MinGW和MSYS找不到.dll

时间:2013-09-15 16:13:59

标签: opengl dll mingw msys

操作系统:Windows 7

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

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查看工作目录,但显然它不会那样工作。

1 个答案:

答案 0 :(得分:1)

不要在同一个应用程序中链接glew的动态和静态链接版本。这毫无意义。也没有针对glew32.dll的链接,这同样没什么意义。

最重要的是,不要将glew的DLL版本与g ++ 一起使用 - 它将无效(请参阅我的previous answers之一了解原因)。相反,#define GLEW_STATIC(如果您使用-DGLEW_STATIC作为编译器切换更好), 链接到glew32s