2011-08-20 197 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