-
在Windows下:
若使用的是MSVC,则库文件为.lib和.dll;若使用的是MinGW,则为.a和.dll; -
在Linux下:
则库文件为.so, .a, .la (.la为libtool生成的共享库,主要记录一些配置信息).
linux下生成的库文件可以拷到/usr/local/lib下,然后再配置/etc/ld.so.conf文件,把/usr/local/lib路径加上去:include /etc/ld.so.conf.d/*.conf include /usr/local/lib
然后再执行下
ldconfig
,通常该命令在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
这样就配置一次库目录就行,链接程序ld就可以找到.
试了一下,发现设置完马上
ldconfig
没有成功.选择使用下面的方式:当然也可以使用
export LIBRARY_PATH=.:/usr/local/lib:$LIBRARY_PATH #静态库 export LD_LIBRARY_PATH=.:/usr/local/lib:$LD_LIBRARY_PATH #动态库
不过使用export只是当时起作用.
动态库的搜索路径搜索的先后顺序是:
1.编译目标代码时指定的动态库搜索路径;
2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径; 比如export LD_LIBRARY_PATH=/usr/local/lib(这样就可以加进来了)
3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
4.默认的动态库搜索路径/lib: /usr/lib。