2012-09-26 24 views
1

我已經創建了一個基於Qt和OpenGL小部件的視覺工作室的應用程序。我從插件中導出一個.pro文件,以便我可以在Linux中編譯。Visual Studio生成的.pro文件Qt插件添加了不必要的OpenGL庫?

我得到的消息:

/usr/bin/ld: cannot find -lopengl32 
/usr/bin/ld: cannot find -lglu32 

...運行make時。

問題消失,程序編譯罰款,如果我刪除:

LIBS += -lopengl32 \ 
    -lglu32 

...從生成的.pro文件。

我知道「export .pro」功能並不完美,但這是解決此問題的正確方法嗎?

回答

0

我不太記得Linux上的OpenGL庫的確切名稱,但它不是opengl32。而非libopengl。所以這很正常。

這會讓你有opengl32.lib只能在Windows鏈接:

win32 : LIBS += -lopengl32 -lglu32 

,如果需要,這將使你libopengl在Linux上鍊接:

unix : LIBS += -lopengl -lglu 

對於macx平臺範圍,我想還有其他的工作要與OpenGL框架聯繫起來。

+0

謝謝,在Qt .pro文件中,我已經指定它應該加載openGL模塊,並且我認爲它會爲我加載特定於平臺的庫。這似乎是Visual Studio項目文件必須包含這些窗口庫,所以它會嘗試將它們放在make文件中,即使Qt模塊會自動包含正確的文件。 – Killhouse

+0

好的,你只需要有'QT + = core gui opengl'和'win32:LIBS + = -lopengl32 -lglu32',是嗎? – Calvin1602

+0

win32庫可以被完全忽略,因爲qmake會在任何系統上爲生成的Makefile添加正確的庫文件。 – Killhouse