2017-02-25 6 views
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 

아무도 아이디어를 얻지 못했습니다.

+3

/usr/local/lib의 libav 라이브러리는 어디에서 유래 되었습니까? 이것은 시스템 라이브러리가 아니지만 사용자가 설치 한 것일 가능성이 큽니다. 이것은 하나의 오래된 x264 lib 디렉토리에 링크되어 있으며 16.04에서는 사용할 수 없습니다. 이 libav 라이브러리를 다시 컴파일하거나 우분투 자체가 설치 한 libav를 사용해야 할 수도 있습니다. –

+0

플로리안의 의견이 답이되어야합니다. – arved

답변

0

좋아, liavcodec-dev 라이브러리를 제거하고 다시 컴파일하려고 시도한 결과로, 드라이브를 포맷하고 처음부터 우분투를 다시 설치하기로 결정했습니다.

모든 것이 이제는 잘 작동합니다.