2011-08-20 196 views
1

我用qt和opengl编写了一个小应用程序(code),我现在想静态编译它。Qt OpenGL编译静态

因此,我下载了Qt库并使用这个guide进行了静态编译。

我添加了一行CONFIG + =静态亲文件cd到项目的位置和命中:

make clean 
qmake -config release 
make 

,但我越来越喜欢几个未定义的引用:

qpixmapdata_gl.cpp:-1: error: undefined reference to `_imp___Z14qt_defaultDpiYv' 

我是什么做错了?我是否需要将这些库添加到pro文件中?我该如何做到这一点,更重要的是我应该使用哪些库?

我想这样的事情没有结果:

LIBS += C:\Qt\4.7.3\bin\QtOpenGL4.dll 

回答

0

我看到符号在qfont.cpp定义,所以它应该有。我会尝试在您的.pro文件中添加:

QT += gui 

。我想你需要:

QT += core 

也。

编辑:另请尝试检查该符号是否包含在libQtGui.lib和用于编译的行中。 你也使用相同的编译器吗?据报道,这个海报似乎是gcc。你用mingw或nmake编译Qt库吗?

+0

核心和GUI模块默认包含,你并不需要指定它 - 见[链接](http://doc.qt.nokia.com/4.7-snapshot/qmake-project-files.html#声明-qt-libraries) – Fiktik

+0

我想他们打算在使用与Qt捆绑在一起的默认规范文件时它是默认的。如果自定义的规范文件中使用或者也可以是比默认的值可以由设计者决定的,如果没有包括必须包括不同。 –

+0

我用mingw编译了库和应用程序。 – Victor