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

时间:2011-06-02 06:47:36

标签: c++ windows qt compilation logic

我正在使用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)

编译库时,我没有给出-no-phonon选项。但我怀疑默认情况下不会静态编译声子。有没有办法以静态方式单独编写声子,并将该库(或复制粘贴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."

1 个答案:

答案 0 :(得分:0)

对我来说补充: LIBS += -lphonon到.pro文件工作正常。

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