0
방금 시스템을 Ubuntu 15.10에서 Ubuntu 16.04 LTS로 업그레이드했습니다. 자, 어떤 이유로 저는 C++ 프로젝트가 더 이상 컴파일되지 않습니다. CLion는 실종 말을 계속 '당신이 컴파일 로그에 볼 수 libx264.so.146을 :C++ 코드 또는 x264 자체 컴파일 중 libx264.so.146을 찾을 수 없음
/home/lorre851/CLion/bin/cmake/bin/cmake --build /home/lorre851/.CLion12/system/cmake/generated/ce7171e4/ce7171e4/Release --target main -- -j 8
[ 20%] Linking CXX executable build/main
/usr/bin/ld: warning: libx264.so.146, needed by /usr/local/lib/libavcodec.so.57, not found (try using -rpath or -rpath-link)
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_encoder_open_146'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_encoder_close'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_bit_depth'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_encoder_headers'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_encoder_encode'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_encoder_reconfig'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_param_parse'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_param_apply_profile'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_param_apply_fastfirstpass'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_levels'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_picture_init'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_param_default'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_param_default_preset'
/usr/local/lib/libavcodec.so.57: undefined reference to `x264_encoder_delayed_frames'
collect2: error: ld returned 1 exit status
CMakeFiles/main.dir/build.make:172: recipe for target 'build/main' failed
make[3]: *** [build/main] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/main.dir/all' failed
make[2]: *** [CMakeFiles/main.dir/all] Error 2
CMakeFiles/Makefile2:79: recipe for target 'CMakeFiles/main.dir/rule' failed
make[1]: *** [CMakeFiles/main.dir/rule] Error 2
Makefile:118: recipe for target 'main' failed
make: *** [main] Error 2
대부분의 사람들은주는 것'솔루션으로 'x264을 다시 설치. 그러나 다음 명령으로 x264를 다시 설치하면 x264 자체를 컴파일하는 동안 같은 오류가 발생합니다.
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static
make
/usr/bin/ld: warning: libx264.so.146, needed by /usr/local/lib/libavcodec.so, not found (try using -rpath or -rpath-link)
/usr/local/lib/libavcodec.so: undefined reference to `x264_encoder_open_146'
collect2: error: ld returned 1 exit status
Makefile:202: recipe for target 'x264' failed
make: *** [x264] Error 1
아무도 아이디어를 얻지 못했습니다.
/usr/local/lib의 libav 라이브러리는 어디에서 유래 되었습니까? 이것은 시스템 라이브러리가 아니지만 사용자가 설치 한 것일 가능성이 큽니다. 이것은 하나의 오래된 x264 lib 디렉토리에 링크되어 있으며 16.04에서는 사용할 수 없습니다. 이 libav 라이브러리를 다시 컴파일하거나 우분투 자체가 설치 한 libav를 사용해야 할 수도 있습니다. –
플로리안의 의견이 답이되어야합니다. – arved