我正在使用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."
答案 0 :(得分:0)
对我来说补充:
LIBS += -lphonon
到.pro文件工作正常。
如果这没有帮助,请查看:http://www.qtcentre.org/wiki/index.php?title=How_to_get_Phonon_working并检查您是否拥有所有文件。