0

我在正确链接 qmake 中的 gstreamer 库时遇到了一些问题。

所以,我有我编写的使用 gstreamer 的库,我将这行添加到 .pro 文件中:

INCLUDEPATH += ../OtherLibs/GStreamer/Include
INCLUDEPATH += ../OtherLibs/GStreamer/Include/glib-2.0
INCLUDEPATH += ../OtherLibs/GStreamer/Include/libxml2
LIBS += -L../OtherLibs/GStreamer/Lib -lgobject-2.0 -lgstreamer-0.10 -lglib-2.0 -lgstapp-0.10

我运行 qmake 然后编译,我根本没有收到任何错误消息。

我在另一个 Qt 项目中使用这个库,我得到:

WTAV.lib(contentvideo.obj):-1: error: LNK2019: unresolved external symbol g_assertion_message_expr referenced in function "protected: void __cdecl ContentVideo::load(class QString)" (?load@ContentVideo@@IEAAXVQString@@@Z)

WTAV.lib(mediapipeline.obj):-1: error: LNK2001: unresolved external symbol g_assertion_message_expr

我知道头文件和库的路径是正确的,因为当我更改它们时会出现“gst/gst.h not found”之类的编译错误。

我不知道我可能做错了什么,也许有人可以指出我正确的方向。

提前致谢。

解决了:

我正在使用 64 位编译器并使用 32 位 gstreamer SDK 编译项目...谢谢 Pavel Krasavin 指出这可能是问题所在。

4

1 回答 1

1

g_assertion_message_expr()由 libglib-2.0.so 导出。您应该检查此库在您的路径中是否可用(-L../OtherLibs/GStreamer/Lib)。此外,请检查此库是否与您的项目具有相同的架构。

于 2015-05-19T15:09:00.783 回答