操作系统: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查看工作目录,但显然它不会那样工作。
答案 0 :(得分:1)
不要在同一个应用程序中链接glew的动态和静态链接版本。这毫无意义。也没有针对glew32.dll的链接,这同样没什么意义。
最重要的是,不要将glew的DLL版本与g ++ 一起使用 - 它将无效(请参阅我的previous answers之一了解原因)。相反,#define GLEW_STATIC
(如果您使用-DGLEW_STATIC
作为编译器切换更好), 仅 链接到glew32s
。