【发布时间】:2021-12-05 04:31:17
【问题描述】:
我收到了 gcc 错误。这是一个奇怪的错误。
当我编译没有“–Wl,-rpath=./ffmpeg/lib”的'muxing.c'时,代码编译成功。
gcc -o muxing muxing.c -I ./ffmpeg/include -L ./ffmpeg/lib -lavcodec -lavfilter -lavutil -lswresample -lavdevice -lavformat -lpostproc -lswscale -lm -lpthread -lasound
nvidia@nx:~/Desktop/project$ ls
ffmpeg Makefile muxing muxing.c test.cpp
但是一旦我添加“–Wl,-rpath=./ffmpeg/lib”,编译器就会给出这个错误:–Wl,-rpath=./ffmpeg/lib: No such file or directory
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'
gcc: error: –Wl,-rpath=./ffmpeg/lib: No such file or directory
Makefile:7: recipe for target 'muxing' failed
make: *** [muxing] Error 1
gcc 选项 -I 和 -L 可以找到路径,但是 '–Wl,-rpath=' 找不到这个路径。为什么?
【问题讨论】:
-
您可能不想以这种方式使用相对路径。查看
$ORIGIN选项。例如,请参阅this answer