
Recherche avancée
Médias (91)
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
-
USGS Real-time Earthquakes
8 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
SWFUpload Process
6 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (98)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (5025)
-
Ffmpeg c++ can't compile with libxh264
10 septembre 2022, par TurgutI made a program that uses the source version of ffmpeg. I get the code from it's website and compile/configured it. The problem is I want to configure it with the libx264 flag so it looks like this :


./configure --enable-shared --enable-libx264 --enable-gpl



Ffmpeg itself compiles with no errors, however when I try to compile my own code using
make
I get this error :

/usr/bin/cmake -E cmake_link_script CMakeFiles/Renderer.dir/link.txt --verbose=1
/usr/bin/c++ -O3 -DNDEBUG CMakeFiles/Renderer.dir/src/main.cpp.o CMakeFiles/Renderer.dir/src/Application.cpp.o CMakeFiles/Renderer.dir/src/opengl/OpenGLRenderer.cpp.o CMakeFiles/Renderer.dir/src/opengl/texture.cpp.o CMakeFiles/Renderer.dir/src/opengl/text_render.cpp.o CMakeFiles/Renderer.dir/src/opengl/image_render.cpp.o CMakeFiles/Renderer.dir/src/logging/Log.cpp.o CMakeFiles/Renderer.dir/src/utils/color_converter.cpp.o CMakeFiles/Renderer.dir/src/utils/maths.cpp.o CMakeFiles/Renderer.dir/src/utils/sys_util.cpp.o CMakeFiles/Renderer.dir/src/types/segment.cpp.o CMakeFiles/Renderer.dir/src/types/timeline.cpp.o CMakeFiles/Renderer.dir/src/coms/json_parser.cpp.o CMakeFiles/Renderer.dir/src/coms/socket.cpp.o CMakeFiles/Renderer.dir/src/video_io/video_encoder.cpp.o CMakeFiles/Renderer.dir/src/video_io/video_decode.cpp.o CMakeFiles/Renderer.dir/src/video_io/audio_mixer.cpp.o CMakeFiles/Renderer.dir/lib/glad/src/glad.c.o -o bin/Renderer /usr/local/lib/libavformat.a /usr/local/lib/libavcodec.a /usr/local/lib/libswresample.a /usr/local/lib/libswscale.a /usr/local/lib/libavutil.a /usr/local/lib/libavdevice.a /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libfreetype.so lib/glfw/src/libglfw3.a lib/spdlog/libspdlog.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/librt.a -lm -ldl /usr/lib/x86_64-linux-gnu/libX11.so 
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `X264_frame':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:349: undefined reference to `x264_picture_init'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:518: undefined reference to `x264_encoder_encode'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:551: undefined reference to `x264_encoder_delayed_frames'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `reconfig_encoder':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:297: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:212: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:224: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:250: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:217: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o):/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:230: more undefined references to `x264_encoder_reconfig' follow
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `X264_close':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:605: undefined reference to `x264_param_cleanup'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:609: undefined reference to `x264_encoder_close'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `parse_opts':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:621: undefined reference to `x264_param_parse'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `X264_init':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:699: undefined reference to `x264_param_default'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:704: undefined reference to `x264_param_default_preset'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:729: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:763: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:795: undefined reference to `x264_levels'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:820: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:821: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:822: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:823: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:883: undefined reference to `x264_param_apply_fastfirstpass'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:924: undefined reference to `x264_param_apply_profile'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1012: undefined reference to `x264_param_parse'From the updated error it appears you're explicitly linking with /usr/local/lib/libavcodec.a etc. So the problem almost certainly lies with your CMakeLists.txt file(s). – 

/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1032: undefined reference to `x264_encoder_open_163'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1041: undefined reference to `x264_encoder_headers'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1072: undefined reference to `x264_encoder_maximum_delayed_frames'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode_h264.o): in function `vaapi_encode_h264_configure':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode_h264.c:1096: undefined reference to `vaQueryVendorString'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode_h265.o): in function `vaapi_encode_h265_get_encoder_caps':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode_h265.c:1176: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode_h265.c:1190: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_wait':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:157: undefined reference to `vaSyncBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:168: undefined reference to `vaSyncSurface'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:170: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:161: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_free_output_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2412: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_make_packed_header':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:60: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:71: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:64: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:75: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_make_param_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:101: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:104: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_alloc_output_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2430: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2435: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2447: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_issue':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:637: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:583: undefined reference to `vaBeginPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:592: undefined reference to `vaRenderPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:601: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:618: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:621: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:595: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:634: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:586: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:603: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_output':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:668: undefined reference to `vaMapBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:699: undefined reference to `vaUnmapBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:701: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:671: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:715: undefined reference to `vaUnmapBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_profile_entrypoint':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1381: undefined reference to `vaMaxNumProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1387: undefined reference to `vaQueryConfigProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1389: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1411: undefined reference to `vaProfileStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1441: undefined reference to `vaMaxNumEntrypoints'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1447: undefined reference to `vaQueryConfigEntrypoints'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1450: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1474: undefined reference to `vaEntrypointStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1499: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1503: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_rate_control':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1574: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1578: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_gop_structure':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1953: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1958: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1977: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1982: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_slice_structure':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2206: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2211: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_packed_headers':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2269: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2274: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_roi':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2377: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2382: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_quality':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2331: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2336: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_max_frame_size':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1902: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1908: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `ff_vaapi_encode_init':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2630: undefined reference to `vaCreateConfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2635: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2646: undefined reference to `vaCreateContext'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2653: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2727: undefined reference to `vaSyncBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `ff_vaapi_encode_close':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2762: undefined reference to `vaDestroyContext'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2767: undefined reference to `vaDestroyConfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_destroy_buffers':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:133: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:143: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:146: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:136: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_make_config':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:468: undefined reference to `vaMaxNumProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:476: undefined reference to `vaQueryConfigProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:540: undefined reference to `vaCreateConfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_find_best_format':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:310: undefined reference to `vaQuerySurfaceAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:322: undefined reference to `vaQuerySurfaceAttributes'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_make_config':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:624: undefined reference to `vaDestroyConfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:479: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:544: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_find_best_format':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:325: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:313: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_make_param_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:44: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:47: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_make_slice_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:90: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:104: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:95: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:109: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:112: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_issue':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:163: undefined reference to `vaBeginPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:172: undefined reference to `vaRenderPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:181: undefined reference to `vaRenderPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:190: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:192: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:166: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:210: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:212: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:175: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:184: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_common_frame_params':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:650: undefined reference to `vaDestroyConfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_uninit':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:707: undefined reference to `vaDestroyContext'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:709: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:715: undefined reference to `vaDestroyConfig'



(The error is a bit longer but I think this is ample for now.)


The thing is, this code also runs on the cloud and compiles just fine without the
--enable-libx264
flags. And inside the cloud, it works just fine even with the libx264 flag. But when I follow the exact same steps as the cloud and try to compile it locally, it gives this error.

Here are the steps I have followed :


First I removed ffmpeg (It was a bit messy) using
sudo apt-get --purge autoremove ffmpeg
then I made sure its deleted by searchingfind / -name ffmpeg
and manually deleting my findings. Then, I ranapt-get install -y libx264-dev
, followed by./configure --enable-shared --enable-libx264 --enable-gpl
inside the directory where I have downloaded the source files. Then ranmake
andmake install
where ffmpeg source files are. I ranldconfig
so it can detect shared libs (This is how it works on the cloud) and finally ranmake
on my own codes directory and got the error mentioned.

Here is my CMakeFile :


cmake_minimum_required(VERSION 3.7)

project(Renderer C CXX)
set(CMAKE_CXX_STANDARD 14)

SET( EXECUTABLE_OUTPUT_PATH ${dir}/bin )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin )


add_definitions(-DGL_SILENCE_DEPRECATION)
add_definitions("-g -lglad -lGL -lGLU -lX11 -lvdpau -lz -lva -lavformat -lavcodec- -lswscale -lavutil -lavfiter -lswresample 
-lavdevice -lpostproc -loa -lz -lx264 -llzma -lbz2 -lrt -lx264 -pthread -lm -lva-drm -lva-x11")

list(APPEND SOURCES
 ...
)

find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)

find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h)
find_library(AVFORMAT_LIBRARY avformat)

find_path(AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h)
find_library(AVDEVICE_LIBRARY avdevice)

find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)

find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h)
find_library(AVUTIL_LIBRARY avutil)

find_path(SWRESAMPLE_INCLUDE_DIR libswresample/swresample.h)
find_library(SWRESAMPLE_LIBRARY swresample)

find_path(SWSCALE_INCLUDE_DIR libswscale/swscale.h)
find_library(SWSCALE_LIBRARY swscale)

set(THREADS_PREFER_PTHREAD_FLAG ON)

add_executable(Renderer src/main.cpp src/Application.cpp src/Application.h ${SOURCES})

target_link_libraries(Renderer PRIVATE Threads::Threads)

list(APPEND EXTRA_LIBS
 "-lGL -lGLU -lX11 -lz -lva -lswresample -lx264 -shared -lvdpau -lva -lm -lva-drm -lva-x11"
)

target_include_directories(Renderer PRIVATE 
 ${AVFORMAT_INCLUDE_DIR} 
 ${AVCODEC_INCLUDE_DIR} 
 ${SWRESAMPLE_INCLUDE_DIR}
 ${SWSCALE_INCLUDE_DIR}
 ${AVUTIL_INCLUDE_DIR}
 ${AVDEVICE_INCLUDE_DIR} 
)

target_link_libraries(Renderer PRIVATE 
 ${AVFORMAT_LIBRARY} 
 ${AVCODEC_LIBRARY} 
 ${SWRESAMPLE_LIBRARY}
 ${SWSCALE_LIBRARY}
 ${AVUTIL_LIBRARY} 
 ${AVDEVICE_LIBRARY} 
)




Like I said, it works on the cloud just the way it is and everything works without the
--enable-libx264
flag.

How can I fix this ? I'm on ubuntu 22+


-
Ffmpeg c++ can't compile with libxh264
10 septembre 2022, par TurgutI made a program that uses the source version of ffmpeg. I get the code from it's website and compile/configured it. The problem is I want to configure it with the libx264 flag so it looks like this :


./configure --enable-shared --enable-libx264 --enable-gpl



Ffmpeg itself compiles with no errors, however when I try to compile my own code using
make
I get this error :

/usr/bin/cmake -E cmake_link_script CMakeFiles/Renderer.dir/link.txt --verbose=1
/usr/bin/c++ -O3 -DNDEBUG CMakeFiles/Renderer.dir/src/main.cpp.o CMakeFiles/Renderer.dir/src/Application.cpp.o CMakeFiles/Renderer.dir/src/opengl/OpenGLRenderer.cpp.o CMakeFiles/Renderer.dir/src/opengl/texture.cpp.o CMakeFiles/Renderer.dir/src/opengl/text_render.cpp.o CMakeFiles/Renderer.dir/src/opengl/image_render.cpp.o CMakeFiles/Renderer.dir/src/logging/Log.cpp.o CMakeFiles/Renderer.dir/src/utils/color_converter.cpp.o CMakeFiles/Renderer.dir/src/utils/maths.cpp.o CMakeFiles/Renderer.dir/src/utils/sys_util.cpp.o CMakeFiles/Renderer.dir/src/types/segment.cpp.o CMakeFiles/Renderer.dir/src/types/timeline.cpp.o CMakeFiles/Renderer.dir/src/coms/json_parser.cpp.o CMakeFiles/Renderer.dir/src/coms/socket.cpp.o CMakeFiles/Renderer.dir/src/video_io/video_encoder.cpp.o CMakeFiles/Renderer.dir/src/video_io/video_decode.cpp.o CMakeFiles/Renderer.dir/src/video_io/audio_mixer.cpp.o CMakeFiles/Renderer.dir/lib/glad/src/glad.c.o -o bin/Renderer /usr/local/lib/libavformat.a /usr/local/lib/libavcodec.a /usr/local/lib/libswresample.a /usr/local/lib/libswscale.a /usr/local/lib/libavutil.a /usr/local/lib/libavdevice.a /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libfreetype.so lib/glfw/src/libglfw3.a lib/spdlog/libspdlog.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/librt.a -lm -ldl /usr/lib/x86_64-linux-gnu/libX11.so 
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `X264_frame':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:349: undefined reference to `x264_picture_init'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:518: undefined reference to `x264_encoder_encode'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:551: undefined reference to `x264_encoder_delayed_frames'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `reconfig_encoder':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:297: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:212: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:224: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:250: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:217: undefined reference to `x264_encoder_reconfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o):/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:230: more undefined references to `x264_encoder_reconfig' follow
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `X264_close':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:605: undefined reference to `x264_param_cleanup'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:609: undefined reference to `x264_encoder_close'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `parse_opts':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:621: undefined reference to `x264_param_parse'
/usr/bin/ld: /usr/local/lib/libavcodec.a(libx264.o): in function `X264_init':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:699: undefined reference to `x264_param_default'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:704: undefined reference to `x264_param_default_preset'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:729: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:763: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:795: undefined reference to `x264_levels'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:820: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:821: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:822: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:823: undefined reference to `x264_param_parse'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:883: undefined reference to `x264_param_apply_fastfirstpass'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:924: undefined reference to `x264_param_apply_profile'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1012: undefined reference to `x264_param_parse'From the updated error it appears you're explicitly linking with /usr/local/lib/libavcodec.a etc. So the problem almost certainly lies with your CMakeLists.txt file(s). – 

/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1032: undefined reference to `x264_encoder_open_163'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1041: undefined reference to `x264_encoder_headers'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/libx264.c:1072: undefined reference to `x264_encoder_maximum_delayed_frames'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode_h264.o): in function `vaapi_encode_h264_configure':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode_h264.c:1096: undefined reference to `vaQueryVendorString'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode_h265.o): in function `vaapi_encode_h265_get_encoder_caps':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode_h265.c:1176: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode_h265.c:1190: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_wait':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:157: undefined reference to `vaSyncBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:168: undefined reference to `vaSyncSurface'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:170: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:161: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_free_output_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2412: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_make_packed_header':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:60: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:71: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:64: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:75: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_make_param_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:101: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:104: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_alloc_output_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2430: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2435: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2447: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_issue':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:637: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:583: undefined reference to `vaBeginPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:592: undefined reference to `vaRenderPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:601: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:618: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:621: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:595: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:634: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:586: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:603: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_output':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:668: undefined reference to `vaMapBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:699: undefined reference to `vaUnmapBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:701: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:671: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:715: undefined reference to `vaUnmapBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_profile_entrypoint':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1381: undefined reference to `vaMaxNumProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1387: undefined reference to `vaQueryConfigProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1389: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1411: undefined reference to `vaProfileStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1441: undefined reference to `vaMaxNumEntrypoints'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1447: undefined reference to `vaQueryConfigEntrypoints'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1450: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1474: undefined reference to `vaEntrypointStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1499: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1503: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_rate_control':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1574: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1578: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_gop_structure':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1953: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1958: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1977: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1982: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_slice_structure':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2206: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2211: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_packed_headers':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2269: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2274: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_roi':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2377: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2382: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_quality':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2331: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2336: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `vaapi_encode_init_max_frame_size':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1902: undefined reference to `vaGetConfigAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:1908: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `ff_vaapi_encode_init':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2630: undefined reference to `vaCreateConfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2635: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2646: undefined reference to `vaCreateContext'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2653: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2727: undefined reference to `vaSyncBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_encode.o): in function `ff_vaapi_encode_close':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2762: undefined reference to `vaDestroyContext'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_encode.c:2767: undefined reference to `vaDestroyConfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_destroy_buffers':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:133: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:143: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:146: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:136: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_make_config':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:468: undefined reference to `vaMaxNumProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:476: undefined reference to `vaQueryConfigProfiles'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:540: undefined reference to `vaCreateConfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_find_best_format':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:310: undefined reference to `vaQuerySurfaceAttributes'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:322: undefined reference to `vaQuerySurfaceAttributes'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_make_config':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:624: undefined reference to `vaDestroyConfig'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:479: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:544: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `vaapi_decode_find_best_format':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:325: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:313: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_make_param_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:44: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:47: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_make_slice_buffer':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:90: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:104: undefined reference to `vaCreateBuffer'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:95: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:109: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:112: undefined reference to `vaDestroyBuffer'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_issue':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:163: undefined reference to `vaBeginPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:172: undefined reference to `vaRenderPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:181: undefined reference to `vaRenderPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:190: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:192: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:166: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:210: undefined reference to `vaEndPicture'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:212: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:175: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:184: undefined reference to `vaErrorStr'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_common_frame_params':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:650: undefined reference to `vaDestroyConfig'
/usr/bin/ld: /usr/local/lib/libavcodec.a(vaapi_decode.o): in function `ff_vaapi_decode_uninit':
/home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:707: undefined reference to `vaDestroyContext'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:709: undefined reference to `vaErrorStr'
/usr/bin/ld: /home/turgut/Desktop/CppProjects/videoo-render/lib/ffmpeg/libavcodec/vaapi_decode.c:715: undefined reference to `vaDestroyConfig'



(The error is a bit longer but I think this is ample for now.)


The thing is, this code also runs on the cloud and compiles just fine without the
--enable-libx264
flags. And inside the cloud, it works just fine even with the libx264 flag. But when I follow the exact same steps as the cloud and try to compile it locally, it gives this error.

Here are the steps I have followed :


First I removed ffmpeg (It was a bit messy) using
sudo apt-get --purge autoremove ffmpeg
then I made sure its deleted by searchingfind / -name ffmpeg
and manually deleting my findings. Then, I ranapt-get install -y libx264-dev
, followed by./configure --enable-shared --enable-libx264 --enable-gpl
inside the directory where I have downloaded the source files. Then ranmake
andmake install
where ffmpeg source files are. I ranldconfig
so it can detect shared libs (This is how it works on the cloud) and finally ranmake
on my own codes directory and got the error mentioned.

Here is my CMakeFile :


cmake_minimum_required(VERSION 3.7)

project(Renderer C CXX)
set(CMAKE_CXX_STANDARD 14)

SET( EXECUTABLE_OUTPUT_PATH ${dir}/bin )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin )


add_definitions(-DGL_SILENCE_DEPRECATION)
add_definitions("-g -lglad -lGL -lGLU -lX11 -lvdpau -lz -lva -lavformat -lavcodec- -lswscale -lavutil -lavfiter -lswresample 
-lavdevice -lpostproc -loa -lz -lx264 -llzma -lbz2 -lrt -lx264 -pthread -lm -lva-drm -lva-x11")

list(APPEND SOURCES
 ...
)

find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)

find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h)
find_library(AVFORMAT_LIBRARY avformat)

find_path(AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h)
find_library(AVDEVICE_LIBRARY avdevice)

find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)

find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h)
find_library(AVUTIL_LIBRARY avutil)

find_path(SWRESAMPLE_INCLUDE_DIR libswresample/swresample.h)
find_library(SWRESAMPLE_LIBRARY swresample)

find_path(SWSCALE_INCLUDE_DIR libswscale/swscale.h)
find_library(SWSCALE_LIBRARY swscale)

set(THREADS_PREFER_PTHREAD_FLAG ON)

add_executable(Renderer src/main.cpp src/Application.cpp src/Application.h ${SOURCES})

target_link_libraries(Renderer PRIVATE Threads::Threads)

list(APPEND EXTRA_LIBS
 "-lGL -lGLU -lX11 -lz -lva -lswresample -lx264 -shared -lvdpau -lva -lm -lva-drm -lva-x11"
)

target_include_directories(Renderer PRIVATE 
 ${AVFORMAT_INCLUDE_DIR} 
 ${AVCODEC_INCLUDE_DIR} 
 ${SWRESAMPLE_INCLUDE_DIR}
 ${SWSCALE_INCLUDE_DIR}
 ${AVUTIL_INCLUDE_DIR}
 ${AVDEVICE_INCLUDE_DIR} 
)

target_link_libraries(Renderer PRIVATE 
 ${AVFORMAT_LIBRARY} 
 ${AVCODEC_LIBRARY} 
 ${SWRESAMPLE_LIBRARY}
 ${SWSCALE_LIBRARY}
 ${AVUTIL_LIBRARY} 
 ${AVDEVICE_LIBRARY} 
)




Like I said, it works on the cloud just the way it is and everything works without the
--enable-libx264
flag.

How can I fix this ? I'm on ubuntu 22+


-
Revision 28559 : D’après http://thread.gmane.org/gmane.comp.web.spip.zone/12743 l’envoi du ...
10 mai 2009, par real3t@… — LogD’après http://thread.gmane.org/gmane.comp.web.spip.zone/12743 l’envoi du mot de passe de l’user de la db créé dynamiquement par la mutualisation facile serait un trou de sécurité... depuis 18 mois…