2013-01-17 45 views
0

我正在修改vlc源代碼並添加了一些UI屏幕。我需要使用QtNetwork軟件包,默認情況下vlc只有QtCore和QtGui軟件包。如何在爲Windows交叉編譯vlc時包含QtNetwork

在爲Linux編譯時,我修改了主要的vlc configure.ac以包含QtNetwork,它工作正常。但是,當我試圖交叉編譯以下的標準過程中,配置的步驟即失敗

../extras/package/win32/configure.sh主機= i686的-W64-的mingw32

表示失敗來定位QtNetwork

更新: 後期時啓用QtNetwork,我仍然是越來越來QtNetwork相關的類及其功能未定義的引用。

回答

0

我終於得到了這個主要來自Olivier在VLC論壇的幫助。它假定你已經熟悉在Linux上交叉編譯windows的vlc。

首先,如同爲QtNetwork編譯的Linux一樣,我假設在vlc parent下的configure.ac直接也包含在每個位置QtGui或QtCore提到的QtNetwork。

其次,QtNetwork庫已經建好了,我們需要在「安裝PKGCONFIG文件」部分下的「Core」和「Gui」後面添加「Network」,位置爲 contrib/src/qt4/rules.mak。當然,你也需要一個QtNetwork.pc.in文件(複製和修改QtGui.pc.in)。要添加的其他密鑰庫是-llws2_32以及-lQtNetwork本身。

您還需要明確禁用OpenSSL支持,否則與libQtNetwork.a鏈接將失敗並顯示無法解析的符號。一種方法是將QT_NO_OPENSSL添加到src/network/network.pro。由於此文件是在make .qt4期間生成的,因此應該創建一個補丁並將其應用於與rules.mak文件開頭附近使用的其他補丁類似的network.pro文件。

詳細信息請參見following vlc開發線程