Qt-如何编译特定的插件/组件

Qt - How to compile a particular plugin/component

本文关键字:插件 组件 何编译 编译 Qt-      更新时间:2023-10-16

我使用的是Qt 4.7.2。我做了一个需要mp3支持的项目。所以我添加了声子支持。当我静态编译它时,它显示了一些链接错误,如下面的

Element.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public:   
class Phonon::MediaSource __thiscall Phonon::MediaObject::currentSource(void)const " 
(__imp_?currentSource@MediaObject@Phonon@@QBE?AVMediaSource@2@XZ) referenced in function 
"public: void __thiscall Element::save(void)" (?save@Element@@QAEXXZ)

MainWindow.obj : error LNK2001: unresolved external symbol "__declspec(dllimport)  
public: class Phonon::MediaSource __thiscall  
Phonon::MediaObject::currentSource(void)const " (__imp_? 
currentSource@MediaObject@Phonon@@QBE?AVMediaSource@2@XZ)

当我编译这个库的时候,我没有给出"无声子"选项。但我怀疑声子在默认情况下不会被静态编译。有没有任何方法可以以静态方式单独编译声子,并在我的项目中链接该库(或复制粘贴该dll)?

编辑:可能是一个迟来的编辑。我把项目文件忘在什么地方了。我必须在空闲时间挖它们。但是,它可能会帮助其他人。这是来自"Lukasz Czerwinski"的链接。我认为这就是原因。

General rule #4: Phonon can't be compiled statically into your application and in 
general Phonon will not work for statically built apps. Link your Phonon-based app 
dynamically."

对于我添加:LIBS += -lphonon到.pro文件运行良好。

如果这没有帮助,请查看:http://www.qtcentre.org/wiki/index.php?title=How_to_get_Phonon_working并检查您是否拥有其中所述的所有文件。