How to properly link ffmpeg library to clion?

Hey everyone :),

I've been trying to use FFmpeg for video compression and other tasks, but I've been stuck for a while. Up until now, I've mostly avoided linking and have only worked with header-only libraries, so I'm not very familiar with CMake or how CLion handles code execution.

I downloaded
https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl-shared.zip as told by ffmpeg.org,
extracted it and added the following linkes to CMakeLists.txt:

1
2
3
4
5
6
7
8
9
10
include_directories("D:\\FFmPeg\\ffmpeg-master-latest-win64-gpl-shared\\include")

link_directories("D:\\FFmPeg\\ffmpeg-master-latest-win64-gpl-shared\\lib")

target_link_libraries(plain_projects
        "D:\\FFmPeg\\ffmpeg-master-latest-win64-gpl-shared\\lib\\avformat.lib"
        "D:\\FFmPeg\\ffmpeg-master-latest-win64-gpl-shared\\lib\\avcodec.lib"
        "D:\\FFmPeg\\ffmpeg-master-latest-win64-gpl-shared\\lib\\swscale.lib"
        "D:\\FFmPeg\\ffmpeg-master-latest-win64-gpl-shared\\lib\\avutil.lib"
)

(ChatGPT helped here)

Now, I'm not getting any build errors, but I'm hitting an exit code -1073741515 (0xC0000135),
which apparently means that some DLL couldn't be found.

Any advice on how to fix this?


Thanks in advance for any help!

Cheers,
Luke
Last edited on
Linking the import libraries (.lib files) only tells the linker that the contained symbols need to be imported from the respective DLL files at runtime. So, if, at runtime, you get error 0xC0000135, it indicates that at least one required DLL could not be loaded by the OS loader!

Make sure that, at runtime, all required DLLs are in one of the directories where Windows is looking for them:
https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order#search-order-for-unpackaged-apps

Also, be aware that not only the "main" EXE can have some direct DLL dependencies, but the DLL's themselves may have transitive dependencies on additional DLL's! Use a tool like Dependencies for figure out all direct and indirect dependencies:
https://github.com/lucasg/Dependencies
Last edited on
Thank you so much. I realized i mixed up .dll with .lib in the execution folder..
Topic archived. No new replies allowed.