0

这是正在发生的事情。我正在尝试设置 OpenSceneGraph,但是在制作过程中遇到了以下错误(添加空格以便于阅读):

/usr/bin/ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `ff_a64_muxer' can not be used when making a shared object; recompile with -fPIC

/usr/local/lib/libavformat.a: error adding symbols: Bad value

collect2: error: ld returned 1 exit status

src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/build.make:291: recipe for target 'lib/osgPlugins-3.4.0/osgdb_ffmpeg.so' failed

make[2]: *** [lib/osgPlugins-3.4.0/osgdb_ffmpeg.so] Error 1

CMakeFiles/Makefile2:6663: recipe for target 

'src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/all' failed

make[1]: *** [src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/all] Error 2

make[1]: *** Waiting for unfinished jobs....

此错误不会停止 cmake 进程。稍后(上述错误发生在 39%,进程在 46% 处失败),我收到此错误:

Makefile:127: recipe for target 'all' failed

make: *** [all] Error 2

然后该过程停止。

我查看了其他一些解决方案,但他们没有我需要的东西(这里这里)。我已经使用 -fPIC 标志运行了 cmake,但这并没有解决任何问题。

我在这里找到了一个潜在的解决方案,但我不知道如何实现“重新编译您的 FFmpeg/libavcodec/libavformat 并启用 pic”。任何人都可以通过它告诉我或给我一个很好的资源吗?我以前从未做过,我不想弄乱我的电脑。

任何帮助将非常感激。提前致谢!

4

0 回答 0