当前位置: 技术问答>linux和unix
gcc编译时so库和源文件在同一个目录,如果用-L.编译出来的程序为什么还说是找不到so库?
来源: 互联网 发布时间:2016-07-16
本文导语: 当前目录:/root 目录下文件:bcx_configfile.h bcx_get_config_by_file.h bcx_get_config_by_file.c libget_config_by_file.so get_config.c 然后我编译时是这样的: gcc get_config.c -o get_config -L. -lget_config_by_file.so 没有报错,生成...
当前目录:/root
目录下文件:bcx_configfile.h bcx_get_config_by_file.h bcx_get_config_by_file.c
libget_config_by_file.so get_config.c
然后我编译时是这样的:
gcc get_config.c -o get_config -L. -lget_config_by_file.so
没有报错,生成了get_config文件
但此时我运行./get_config却报出错误:
./get_config: error while loading shared libraries: libget_config_by_file.so: cannot open shared object file: No such file or directory
说找不到库文件,我编译时是用-L.指定了库所在位置的啊,为什么会出现找不到库文件?
目录下文件:bcx_configfile.h bcx_get_config_by_file.h bcx_get_config_by_file.c
libget_config_by_file.so get_config.c
然后我编译时是这样的:
gcc get_config.c -o get_config -L. -lget_config_by_file.so
没有报错,生成了get_config文件
但此时我运行./get_config却报出错误:
./get_config: error while loading shared libraries: libget_config_by_file.so: cannot open shared object file: No such file or directory
说找不到库文件,我编译时是用-L.指定了库所在位置的啊,为什么会出现找不到库文件?
|
先export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root
再./get_config
看看成不?
再./get_config
看看成不?