引入
有如下图中的文件结构,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