You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gcc添加-Wl,-rpath参数时报找不到对应路径错误是什么原因?

问题原因

你使用的–Wl,-rpath参数的首字符是全角长破折号,不是gcc可识别的半角减号(-)。gcc无法将全角符号开头的内容识别为编译参数,会直接将整段–Wl,-rpath=./ffmpeg/lib判定为待编译的输入文件,因此抛出找不到该文件的错误。

解决方案

将参数前的全角破折号替换为半角减号即可,修正后的编译命令如下:

gcc -o muxing muxing.c -I ./ffmpeg/include -L ./ffmpeg/lib -lavcodec -lavfilter -lavutil -lswresample -lavdevice -lavformat -lpostproc -lswscale -lm -lpthread -lasound -Wl,-rpath='./ffmpeg/lib'

额外注意事项

  • 不要直接复制排版类文档中的命令,很多编辑器、文档工具会自动将半角减号替换为长破折号,手动输入参数前缀的横杠可以避免这类问题
  • 如果是在Makefile中配置的编译参数,需要检查Makefile对应行的符号格式,部分编辑器的自动格式化功能也会修改符号类型
  • 后续运行程序时如果仍提示找不到FFmpeg动态库,可以将rpath的相对路径替换为绝对路径,避免执行程序时工作目录变化导致相对路径失效

内容的提问来源于stack exchange,提问作者YCChiang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:54:03