C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了编译PortAudio示例时出错大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
(我在Ubuntu上)我正在尝试运行PortAudio示例,但是遇到了很多错误(如下所述).我已将头文件portaudio.h放在程序目录中.我不知道.我认为这是链接错误.请帮忙!

/tmp/cc5EbTlT.o:在@L_898_6@main’中:
paex_record.c :(.text 0x37E):undefined reference toPa_Initialize’
paex_record.c :(.text 0x397):对Pa_GetDefaulTinputDevice的未定义引用
paex_record.c :(.text 0x3dE):未定义的引用toPa_GetDeviceInfo’
paex_record.c :(.text 0x436):对Pa_OpenStream的未定义引用
paex_record.c :(.text 0x45a):未定义的引用toPa_StartStream’
paex_record.c :(.text 0x493):对Pa_Sleep的未定义引用
paex_record.c :(.text 0x4c2):未定义引用Pa_IsStreamActive’
paex_record.c :(.text 0x4eb):对Pa_CloseStream的未定义引用
paex_record.c :(.text 0x5fa):未定义的引用toPa_GetDefaultOutputDevice’
paex_record.c :(.text 0x641):对Pa_GetDeviceInfo的未定义引用
paex_record.c :(.text 0x6b2):undefined reference toPa_OpenStream’
paex_record.c :(.text 0x6e3):对Pa_StartStream的未定义引用
paex_record.c :(.text 0x71C):undefined reference toPa_Sleep’
paex_record.c :(.text 0x728):对Pa_IsStreamActive的未定义引用
paex_record.c :(.text 0x74E):未定义引用到Pa_CloseStream’
paex_record.c :(.text 0x77d):对Pa_Terminate的未定义引用
paex_record.c :(.text 0x7e5):未定义引用到Pa_GetErrorText’
collect2:错误:ld返回1退出状态

解决方法

假设您正在使用 gcc编译并且您有一个C文件foo.c,编译器命令将是

gcc -o foo foo.c -lrt -lasound -ljack -lpthread -lportaudio

-l参数用于将所需的库链接到您的程序,例如-lrt将链接librt.a.订单很重要.

我从这里得到了所需的库:http://www.portaudio.com/docs/v19-doxydocs/compile_linux.html#comp_linux3.不知道它们是否正确.至少你需要-lportaudio,显然.

如果找不到库,则必须提供gcc路径,例如

gcc -L/usr/lib -o foo foo.c -lrt -lasound -ljack -lpthread -lportaudio

关于标题,您实际上不需要将其复制到程序的目录中.你宁愿把它包括在内

#include <portaudio.h>

并将其目录添加到包含搜索路径:

gcc -I/usr/include -L/usr/lib -o foo foo.c -lrt -lasound -ljack -lpthread -lportaudio

当然,所有这些都在Makefile中做得更好.

大佬总结

以上是大佬教程为你收集整理的编译PortAudio示例时出错全部内容,希望文章能够帮你解决编译PortAudio示例时出错所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。