gpt4 book ai didi

audio - 未定义对 `jack_client_close`的引用等

转载 作者:行者123 更新时间:2023-12-02 22:21:20 24 4
gpt4 key购买 nike

我正在尝试按照jack(Linux音频服务器)上的this介绍性教程进行操作。在本教程中,作者解释说,您应该使用pkg-config查找jack的cflagslibs,使gcc命令如下所示:

gcc -o simple_client `pkg-config --cflags --libs jack` simple_client.c

它给出了输出:
/tmp/ccyuOC0u.o: In function `signal_handler':
simple_client.c:(.text+0x16): undefined reference to `jack_client_close'
/tmp/ccyuOC0u.o: In function `process':
simple_client.c:(.text+0x6f): undefined reference to `jack_port_get_buffer'
simple_client.c:(.text+0x87): undefined reference to `jack_port_get_buffer'
/tmp/ccyuOC0u.o: In function `main':
simple_client.c:(.text+0x25b): undefined reference to `sin'
simple_client.c:(.text+0x2c1): undefined reference to `jack_client_open'
simple_client.c:(.text+0x372): undefined reference to `jack_get_client_name'
simple_client.c:(.text+0x3b1): undefined reference to `jack_set_process_callback'
simple_client.c:(.text+0x3ca): undefined reference to `jack_on_shutdown'
simple_client.c:(.text+0x3ee): undefined reference to `jack_port_register'
simple_client.c:(.text+0x419): undefined reference to `jack_port_register'
simple_client.c:(.text+0x475): undefined reference to `jack_activate'
simple_client.c:(.text+0x4c5): undefined reference to `jack_get_ports'
simple_client.c:(.text+0x514): undefined reference to `jack_port_name'
simple_client.c:(.text+0x52c): undefined reference to `jack_connect'
simple_client.c:(.text+0x56e): undefined reference to `jack_port_name'
simple_client.c:(.text+0x586): undefined reference to `jack_connect'
simple_client.c:(.text+0x5ba): undefined reference to `jack_free'
collect2: ld returned 1 exit status

我使用gcc或编写c程序的经验不是很丰富(我的大部分经验是使用javascript,clojure,java,python和php)。我从中收集到的信息以及对它的研究是某些图书馆丢失或链接不正确(不确定哪个图书馆)。

因此,仅在我的机器上运行 pkg-config --cflags --libs jack,我得到:
-ljack

在上面引用的教程中,作者演示了用于收集要链接到jack的库的相同方法,但是他的输出如下所示:
-ljack -lpthread -ldl -lrt

不确定什么是pthread,但是我认为dl是dsp-loader,而rt与实时性有关。我已经搜索了几个名为 /lib的目录,但这些其他库都没有找到任何东西,因此我认为它们不存在于我的机器上。但是,对我来说似乎奇怪的是,调用 pkg-config并没有提及它们。我应该如何去寻找这些库?还是我走错了路?

最佳答案

您的链接命令行错误,请尝试以下方法:

gcc -o simple_client simple_client.c `pkg-config --cflags --libs jack`

命令行 matters上归档库的顺序。

关于audio - 未定义对 `jack_client_close`的引用等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com