相关疑难解决方法(0)

使用MinGW在Windows上构建GLEW 1.7.0

以前有很多问题:如何使用MinGW在Windows上编译GLEW 1.7.0源代码?目标是从c ++项目动态链接库.

更多信息:我正在使用QtCreator,ergo使用qmake进行构建.我在Windows 7上.到目前为止,我已经尝试/查看了以下链接.

使用发布的批处理文件也试图用g ++替换gcc

使用vc ++ libs构建静态,构建dll.a重用vc ++ .dll

获取MSYS运行makefile

关于初始问题的信息

使用GLEW msvc ++二进制文件的简单东西可以在我的桌面上运行

不幸的是,当我在项目中使用已编译的结果时,所有发布的解决方案都会在以下错误消息中结束:

undefined reference to `glDrawElements@16'
debug/Ex04.o: In function `Z6initGLv':
undefined reference to `glClearColor@16'
undefined reference to `glEnable@4'
debug/Ex04.o: In function `Z8updateGLv':
undefined reference to `glClear@4'
undefined reference to `glViewport@16'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [debug/ecg4.exe] Error 1
mingw32-make.exe: *** [debug] Error 2
Run Code Online (Sandbox Code Playgroud)

关于这个问题,我已经结束了.我已经对qmake和windows path变量中的LIBS路径进行了两次和三次检查,以包含glew dll所在的目录.qmake的INCLUDEPATH也应该没问题.这里是.pro文件中的路径:

LIBS += -L$$quote(C:/mypath/freeglut/lib/) -lfreeglut
LIBS += -L$$quote(C:/mypath/glew-1.7.0/lib/) -lglew32 -lglew32mx
#LIBS+= C:/mypath/glew-1.7.0/lib/libglew32.dll.a
#LIBS+= C:/Programming/glew-1.7.0/lib/libglew32mx.dll.a …
Run Code Online (Sandbox Code Playgroud)

glew mingw

7
推荐指数
1
解决办法
9186
查看次数

使用MinGW,freeglut和glew编译简单的静态OpenGL 4.0程序

问题在于标题,我将尝试列出我已经尝试过的内容,等等.

首先,根据我的理解,为了在Windows上使用OpenGL 4.0,您必须扩展和/或绕过默认的Windows库,因为它只提供OpenGL 1.1.

所以我们安装了MinGW C:/MinGW/.接下来,我通过从项目站点下载tarball来设置FreeGLUT .提取和通过根据运行的生成文件编译指令与未成年人加入到命令.--prefix./configure

./configure --prefix=/c/Users/Owner/root/
make all
make install 
Run Code Online (Sandbox Code Playgroud)

现在我有freeglut /c/Users/Owner/root/lib/,/c/Users/Owner/root/include/等等.接下来是GLEW,就我所知,我的问题孩子.

项目站点下载源存档(直接1.7.0.zip链接).编译有点复杂,我目前的配方来自堆栈溢出问题" 用mingw构建窗口上的glew ".缩写形式如下:

mkdir lib/
mkdir bin/
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32.a src/glew.o
gcc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c
gcc -shared …
Run Code Online (Sandbox Code Playgroud)

c++ opengl winapi glew freeglut

5
推荐指数
1
解决办法
5494
查看次数

在使用mingw32在windows上构建glew时,多个定义`DllMainCRTStartup @ 12'

我跟着这个话题:用mingw在windows上构建glew但是这里出了点问题:

gcc -shared -Wl,-soname,libglew32.dll -Wl, - out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32

我收到此错误:

C:\ MinGW\dev_lib\glew-2.0.0> gcc -shared -Wl,-soname,libglew32.dll -Wl, - out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 src/glew.o:glew.c :(.text + 0x28f80):`DllMainCRTStartup @ 12'c的多重定义:/ mingw/bin /../lib/gcc/mingw32/4.9.3/../../../dllcrt2.o:(.text+0x60):首先在这里定义collect2.exe:错误:ld返回1退出状态

感谢帮助.

c windows gcc glew mingw

4
推荐指数
1
解决办法
2390
查看次数

用mingw32在窗户上建立glew

这是重复的,我很抱歉,但我没有任何其他选择,因为我无法对答案发表评论,但他们没有解决我的问题.这是原帖:

用mingw在窗户上建立glew

这是我的问题:

1)当我尝试@ LightningIsMyName的答案时,我收到此错误:

Makefile:1:***缺少分隔符.停止.

2)当我尝试@ anon的答案时,我收到此错误:

Makefile:1:Makefile:1:***命令在第一个目标之前开始.停止.

人们说这个并且帮助了他们,但他们并没有为我工作.我不知道我在某种程度上重复了一个问题,但我没有其他机会对评论的声望限制.希望你能帮忙.谢谢.

c++ opengl glew makefile

3
推荐指数
1
解决办法
5547
查看次数

标签 统计

glew ×4

c++ ×2

mingw ×2

opengl ×2

c ×1

freeglut ×1

gcc ×1

makefile ×1

winapi ×1

windows ×1