好吧。我正在尝试编译 UADE。我下载了源代码,进入 int 目录,然后 ./configure。之后我看到了以下内容:
Data directory : /usr/local/share/uade2
Uadecore directory : /usr/local/lib/uade2
Man (documentation) directory : /usr/local/share/man/man1
Installer : /usr/bin/install
Make : /usr/bin/make
Target CC : gcc
uadecore : yes
uade123 : yes
uade123 sound output : AO
XMMS plugin : no
Audacious plugin : yes
Audacious plugin directory :
uadefs : yes
Text scope support : no
然后“make”。结果是:
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src“ wird betreten
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g audio.c -o audio.o
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g sd-sound.c -o sd-sound.o
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g uade.c -o uade.o
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g uadeipc.c -o uadeipc.o
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g unixatomic.c -o unixatomic.o
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g ossupport.c -o ossupport.o
gcc -I. -I./include -c -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g uademain.c -o uademain.o
gcc -o uadecore main.o newcpu.o memory.o custom.o cia.o audio.o compiler.o cpustbl.o missing.o sd-sound.o md-support.o cfgfile.o fpp.o debug.o readcpu.o cpudefs.o cpuemu1.o cpuemu2.o cpuemu3.o cpuemu4.o cpuemu5.o cpuemu6.o cpuemu7.o cpuemu8.o uade.o uadeipc.o unixatomic.o ossupport.o uademain.o sinctable.o text_scope.o -lm
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src“ wird verlassen
/usr/bin/make -C src/frontends/uade123
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/uade123“ wird betreten
gcc -Wall -O2 -I../../include -I../common -g -c uade123.c
uade123.c: In function ‘main’:
uade123.c:105:34: warning: ‘/contentdb’ directive output may be truncated writing 10 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
105 | snprintf(name, sizeof name, "%s/contentdb", uc->basedir.name);
| ^~~~~~~~~~
In file included from /usr/include/stdio.h:867,
from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 11 and 4106 bytes into a destination of size 4096
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uade123.c:531:48: warning: ‘/uaerc’ directive output may be truncated writing 6 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
531 | snprintf(configname, sizeof configname, "%s/uaerc", uc_eff.basedir.name);
| ^~~~~~
In file included from /usr/include/stdio.h:867,
from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 7 and 4102 bytes into a destination of size 4096
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uade123.c:534:48: warning: ‘/score’ directive output may be truncated writing 6 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
534 | snprintf(scorename, sizeof scorename, "%s/score", uc_eff.basedir.name);
| ^~~~~~
In file included from /usr/include/stdio.h:867,
from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 7 and 4102 bytes into a destination of size 4096
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uade123.c:599:45: warning: ‘/players/’ directive output may be truncated writing 9 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
599 | snprintf(playername, sizeof playername, "%s/players/%s", uc_cmdline.basedir.name, state.ep->playername);
| ^~~~~~~~~
In file included from /usr/include/stdio.h:867,
from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 10 or more bytes (assuming 4105) into a destination of size 4096
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O2 -I../../include -I../common -g -c playloop.c
gcc -Wall -O2 -I../../include -I../common -g -c ../common/amifilemagic.c
gcc -Wall -O2 -I../../include -I../common -g -c ../common/eagleplayer.c
../common/eagleplayer.c: In function ‘analyze_file_format’:
../common/eagleplayer.c:101:8: warning: ‘/eagleplayer.conf’ directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
101 | "%s/eagleplayer.conf", state->config.basedir.name);
| ^~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
from ../common/eagleplayer.c:13:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O2 -I../../include -I../common -g -c ../common/uadecontrol.c
gcc -Wall -O2 -I../../include -I../common -g -c ../common/uadeconf.c
../common/uadeconf.c: In function ‘handle_attributes’:
../common/uadeconf.c:191:3: warning: case value ‘32’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
191 | case ES_EP_OPTION:
| ^~~~
../common/uadeconf.c:197:3: warning: case value ‘64’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
197 | case ES_GAIN:
| ^~~~
../common/uadeconf.c:205:3: warning: case value ‘524288’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
205 | case ES_PANNING:
| ^~~~
../common/uadeconf.c:209:3: warning: case value ‘1048576’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
209 | case ES_PLAYER:
| ^~~~
../common/uadeconf.c:201:3: warning: case value ‘4194304’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
201 | case ES_RESAMPLER:
| ^~~~
../common/uadeconf.c:217:3: warning: case value ‘8388608’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
217 | case ES_SILENCE_TIMEOUT:
| ^~~~
../common/uadeconf.c:221:3: warning: case value ‘33554432’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
221 | case ES_SUBSONGS:
| ^~~~
../common/uadeconf.c:225:3: warning: case value ‘67108864’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
225 | case ES_SUBSONG_TIMEOUT:
| ^~~~
../common/uadeconf.c:229:3: warning: case value ‘134217728’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
229 | case ES_TIMEOUT:
| ^~~~
gcc -Wall -O2 -I../../include -I../common -g -c ../../ossupport.c
gcc -Wall -O2 -I../../include -I../common -g -c ../common/songdb.c
gcc -Wall -O2 -I../../include -I../common -g -c ../common/songinfo.c
../common/songinfo.c: In function ‘process_ptk_mod’:
../common/songinfo.c:272:31: warning: ‘__builtin___snprintf_chk’ output truncated before the last format character [-Wformat-truncation=]
272 | snprintf(tmpstr, 23, "%-23s", buf + 0x14 + (i * 0x1e));
| ^
In file included from /usr/include/stdio.h:867,
from ../common/songinfo.c:4:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 24 or more bytes into a destination of size 23
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../common/songinfo.c: In function ‘process_module’:
../common/songinfo.c:312:31: warning: ‘__builtin___snprintf_chk’ output truncated before the last format character [-Wformat-truncation=]
312 | snprintf(tmpstr, 30, "%-30s", buf + 642 + (i * 0x1e));
| ^
In file included from /usr/include/stdio.h:867,
from ../common/songinfo.c:4:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 31 or more bytes into a destination of size 30
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O2 -I../../include -I../common -g -c ../common/support.c
gcc -Wall -O2 -I../../include -I../common -g -o uade123 uade123.o chrarray.o playlist.o playloop.o audio.o terminal.o unixatomic.o uadeipc.o amifilemagic.o eagleplayer.o unixwalkdir.o effects.o uadecontrol.o uadeconf.o md5.o ossupport.o songdb.o songinfo.o vplist.o support.o -lao -lm
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/uade123“ wird verlassen
/usr/bin/make -C src/frontends/audacious
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/audacious“ wird betreten
gcc -Wall -O2 -fPIC -shared -g -I../common -I../../include -c plugin.c
In file included from plugin.c:29:
plugin.h:9:10: fatal error: glib.h: Datei oder Verzeichnis nicht gefunden
9 | #include <glib.h>
| ^~~~~~~~
compilation terminated.
make[1]: *** [Makefile:27: plugin.o] Fehler 1
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/audacious“ wird verlassen
make: *** [Makefile:38: audaciousplugin] Fehler 2
我安装了 libglib2.0-dev。我有 glib.h,我尝试使用 pkg-config --cflags --libs glib-2.0 - 没有帮助。我不能简单地使用 gcc,因为它是 makefile。而且我在这个世界上真的是菜鸟。我说,我有点恼火,因为我不知道问题出在哪里。重要提示:这是 Ubuntu 20.04。任何帮助都值得赞赏……
答案1
要编译 UADE,你必须使用它的Git 版本以及以下命令:
sudo apt-get install build-essential git python3-dev libao-dev pkg-config audacious-dev libfuse-dev
cd ~/Downloads
git clone https://gitlab.com/heikkiorsila/bencodetools.git
cd bencodetools
./configure
make
sudo make install
cd ~/Downloads
git clone https://gitlab.com/uade-music-player/uade.git
cd uade
./configure --with-text-scope
make
sudo make install
官方网站显示2009 为最新版本年份。因此,由于 12 年来 API 发生了重大变化,XMMS 或 Audacious 等 GUI 前端似乎无法使用。
因此要播放声音您必须使用 CLI 界面:
- 单文件播放
uade123 filename
; - 目录递归播放-
uade123 -r directory/
.
ACTION KEYS FOR INTERACTIVE MODE: [0-9] Change subsong CURSORS Cursors left and right seek 10 seconds. Cursors down and up seek 1 minute. '<' Previous song '.' Seek 10 seconds forward (same as cursor right) 'b' Next subsong 'c', SPACE Pause 'f' Toggle filter (takes filter control away from eagleplayer) 'g' Toggle gain effect 'h' Print this list 'H' Toggle headphones effect 'i' Print module info 'I' Print hex dump of head of module RETURN, '>' Next song 'p' Toggle postprocessing effects 'P' Toggle panning effect. Default value is 0.7. 'q' Quit 's' Toggle between random and linear play 'v' Toggle verbose mode 'x' Restart current subsong 'z' Previous subsong
音乐文件可能位于exotica.org.uk或类似网站。