C语言 运行 libspotify 示例



我正在尝试运行spotify示例。我已经成功编译了它们,但我无法运行任何东西。当即执行./jukebox.o时,它只是说"无法执行二进制文件"。如何运行示例?

这是我做的时候得到的:

libspotify/examples$ make LIBSPOTIFY_PATH=../../../..对于自动存储塔 spshell 本地文件;do make -C $a LIBSPOTIFY_PATH="/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release" all;做make[1]: 输入目录 /home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/share/doc/libspotify/examples/jukebox' cc -I/usr/include/alsa -I/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/include -Wall -Wl,-rpath,/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/lib -L/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/lib jukebox.o appkey.o alsa-audio.o audio.o -o jukebox -lasound -lspotify /usr/bin/ld: alsa-audio.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[1]: *** [jukebox] Error 1 make[1]: Leaving directory/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/share/doc/libspotify/examples/jukebox'make[1]: 输入目录 /home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/share/doc/libspotify/examples/spshell' cc -I/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/include -Wall -Wl,-rpath,/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/lib -L/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/lib spshell.o spshell_posix.o appkey.o cmd.o browse.o search.o toplist.o inbox.o star.o playlist.o test.o -lreadline -lspotify -o spshell /usr/bin/ld: spshell_posix.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[1]: *** [spshell] Error 1 make[1]: Leaving directory/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/share/doc/libspotify/examples/spshell'make[1]:输入目录/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/share/doc/libspotify/examples/localfiles' make[1]: Leaving directory/home/alexander/slask/libspotify-12.1.51-Linux-x86_64-release/share/doc/libspotify/examples/localfiles'

我在 64 位 Ubuntu 上遇到了类似的问题。编辑 examples/common.mk 中的 LDLIBS 行,如下所示

LDLIBS  += -lspotify -lpthread -ldl

您必须使文件可执行。

尝试 chmod u+x 点唱机.o,如果这不起作用,您应该尝试像 gcc 点唱机.c -o 点唱机一样编译它

在 Linux 上,成功运行 makefile 后,您的 share/doc/libspotify/examples/jukebox 目录应如下所示:

weeble@mylaptop:~/prj/libspotify/libspotify-12.1.51-Linux-i686-release/share/doc/libspotify/examples$ ls -l jukebox/
total 140
-rw-r--r-- 1 weeble weeble  5588 Jun 13  2012 alsa-audio.c
-rw-r--r-- 1 weeble weeble  5392 Feb 26 09:25 alsa-audio.o
-rw-r--r-- 1 weeble weeble   856 Feb 26 09:26 appkey.o
-rw-r--r-- 1 weeble weeble  1840 Jun 13  2012 audio.c
-rw-r--r-- 1 weeble weeble  1828 Jun 13  2012 audio.h
-rw-r--r-- 1 weeble weeble  1400 Feb 26 09:25 audio.o
-rw-r--r-- 1 weeble weeble  1718 Jun 13  2012 dummy-audio.c
-rwxr-xr-x 1 weeble weeble 21865 Feb 26 09:26 jukebox
-rw-r--r-- 1 weeble weeble 15156 Jun 13  2012 jukebox.c
-rw-r--r-- 1 weeble weeble  9116 Feb 26 09:19 jukebox.o
-rw-r--r-- 1 weeble weeble  1051 Jun 13  2012 Makefile
-rw-r--r-- 1 weeble weeble  4469 Jun 13  2012 openal-audio.c
drwxr-xr-x 3 weeble weeble  4096 Jun 13  2012 osx
-rw-r--r-- 1 weeble weeble  3378 Jun 13  2012 osx-audio.c
-rw-r--r-- 1 weeble weeble  8860 Jun 13  2012 playtrack.c
-rw-r--r-- 1 weeble weeble 18990 Jun 13  2012 queue.h

可执行文件是名为" jukebox "。所以运行" ./jukebox/jukebox "。如果该文件不存在,则可能是生成过程失败。运行" make "时是否有任何消息或警告?

相关内容

  • 没有找到相关文章

最新更新