引入
有如下图中的文件结构,TestVideoCodec.exe 需要动态加载 Plugins 文件夹下面的 xxx.dll;xxx.dll 又链接了其他库,这些库放在Plugins下面,为了使程序能够正确加载到 xxx.dll,则需要按照后续章节中的描述进行加载或设置。

Windows 下
代码中加载动态库时使用:
LoadLibraryExA(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH)
注:其中 filename(dll路径)需要设置绝对路径并且路径中文件夹的分隔符只能是 \\
Linux 下
使用 LD_LIBRARY_PATH 指定需要调用的库的位置。例如:
#!/bin/bash
current_path=.
plugins_path=./Plugins/
export LD_LIBRARY_PATH=$current_path:$plugins_path:$current_path:$LD_LIBRARY_PATH
# set collect core file.
ulimit -c 1000000
ulimit -n 100000
$(pwd)/testVideoCodec
动态库加载与路径设置:Windows与Linux平台实践
本文详细讲解如何在Windows和Linux环境下正确加载动态库TestVideoCodec.exe,涉及LoadLibraryExA和LD_LIBRARY_PATH的使用,以及如何设置Plugins目录下的xxx.dll及其依赖库的查找路径。
3570

被折叠的 条评论
为什么被折叠?



