0

我正在尝试从 git 构建针对 GStreamer 的东西。他们有一些让人pkg-config开心的神奇过程,但如果我运行它,我会得到一个.la文件:

$ pkg-config --libs gstreamer-1.0
/home/blong/gst/head/gstreamer/gst/libgstreamer-1.0.la -lgobject-2.0 -lglib-2.0

这给 GCC 带来了问题:

g++ -o example switchtrackexample.cpp `pkg-config --libs --cflags gstreamer-1.0`
# comes out as: g++ -o example switchtrackexample.cpp -pthread -I/home/blong/gst/head/gstreamer -I/home/blong/gst/head/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include /home/blong/gst/head/gstreamer/gst/libgstreamer-1.0.la -lgobject-2.0 -lglib-2.0
/usr/bin/ld: error: /home/blong/gst/head/gstreamer/gst/libgstreamer-1.0.la:8:8: invalid character
/usr/bin/ld: error: /home/blong/gst/head/gstreamer/gst/libgstreamer-1.0.la:8:8: syntax error, unexpected $end
/usr/bin/ld: error: /home/blong/gst/head/gstreamer/gst/libgstreamer-1.0.la: not an object or archive
# lots of undefined references here

我读过一些东西,表明我应该可以libtool用来编译它,但我不知道怎么做。我应该如何处理这个.la文件?

4

1 回答 1

0

它数字,在我问这个之后,我找到了 Julien Moutte 的答案:

在构建命令前面添加:
libtool --mode=link 。

遵循该建议,我得到了这个,它有效:

libtool --mode=link g++ -o example switchtrackexample.cpp `pkg-config --cflags --libs gstreamer-1.0`
于 2012-12-18T18:31:30.877 回答