編譯好data.so文件后准備使用:
1、data.so文件目錄:/info/admin/data
2、編譯目錄:/info/admin/data
3、編譯錯誤:
g++ -ldata -o tClient test_client.c
collect2: library libdata not found
FQMID-2[/info/admin/data#]g++ -L/info/admin/data -ldata -o tClient test_client.c
ld: 0706-006 Cannot find or open library file: -l data
ld:open(): A file or directory in the path name does not exist.
collect2: ld returned 255 exit status
4、使用非root用戶登錄,修改.profile文件LIBPATH后,仍然出現與上面相同的錯誤提示。EVN信息:
LIBPATH=:/usr/local/lib:/info/admin/data:.
請高手幫忙,謝謝
9 个解决方案
既然你要修改,冒失是要修改LD_LIBRARY_PATH這個環境變量。
然后你修改庫環境變量之后,記得ldconfig
否則,修改了也沒用。
直接-L的話(在修改環境變量之前),還是相同的錯誤
正常情況下,上述我的回復應該可以解決問題。
還有一點沒有說到,你看下你對那個庫文件有沒有權限。
因為你是非root權限的。
你換成root
ding yi ge ..................
最后使用g++ -o client test_client.c libdata.so直接編譯。。。。。。。