我正在修改vlc源代码,并添加了一些UI屏幕。我需要使用QtNetwork包,默认情况下,vlc只有QtCore和QtGui包。
在为Linux编译时,我修改了主vlc configure.ac,使其包含QtNetwork,并且运行良好。但是,当我试图按照标准过程交叉编译时,配置步骤就失败了。
.\x{e76f}\x{e76f}主机=i 686-W64-mingw32 32
指示定位QtNetwork失败
更新:更新,在启用QtNetwork时,我仍然得到对QtNetwork相关类及其函数的未定义引用。
发布于 2013-01-23 00:49:10
我终于在VLC论坛上得到了Olivier的帮助。它假设您已经熟悉Linux上windows的交叉编译vlc。
首先,在用QtNetwork编译的Linux中,我假设vlc父级下的configure.ac也包含在QtGui或QtCore都提到的每个位置的QtNetwork。
其次,已经构建了QtNetwork库,我们需要在cont肋骨/src/qt4 4/rues.mak中的"Core“和"Gui”之后添加"Network“,并在"INSTALLING文件”部分下添加。当然,您还需要一个QtNetwork.pc.in文件(复制和修改QtGui.pc.in)。要添加的其他密钥库是-llws2_32和-lQtNetwork本身。
您还需要显式地禁用OpenSSL支持,否则与libQtNetwork.a链接会出现未解析符号失败。一种方法是将QT_NO_OPENSSL添加到src/network/network.pro。由于该文件是在make .qt4期间生成的,因此应该为network.pro文件创建并应用一个补丁,类似于rules.mak文件开头处使用的其他修补程序。
详细信息在下面是 vlc线程中。
https://stackoverflow.com/questions/14377851
复制相似问题