C呼叫自己寫的動態庫

2021-07-11 11:27:17 字數 613 閱讀 6696

自己做了libhello.so庫後,寫了個簡單的測試**,將測試**和庫檔案放到了同一路徑下,$gcc main.c -l. -lhello,結果執行後報錯,./a.out: error while loading shared libraries: libhello.so: cannot open shared object file: no such file or directory

以下為解決方法:

動態鏈結庫是在程式執行時候去載入的,載入的時候是從標準目錄/usr/lib下去尋找的,下面是三種解決方法

1. $ cp libhello.so /usr/lib/ ==> libhello.so拷貝到/usr/lib/下去

2. export ld_library_path=$ld_library_path:.

// export ld_library_path=$ld_library_path :

3 . /etc/ld.so.conf 裡面加一行所在庫的目錄,然後執行 ldconfig

/etc/ld.so.conf檔案:除了標準目錄(/lib和/usr/lib)之外,鏈結器和載入器搜尋共享庫時要檢查的其他目錄,和這個檔案相關的乙個命令是:ldconfig

詳細內容請參考

python中呼叫C 寫的動態庫

一 環境 windows xp python3.2 1.dll對應的原始檔 m.cpp include extern c declspec dllexport void print sum unsigned long ulnum 2.python源程式 coding gbk from ctypes ...

Delphi動態呼叫C 寫的DLL

c dll 檔案,建議用最簡單的c 編輯工具。不會加入很多無關的dll檔案。本人用codeblocks mingw。不像 vs2010,dll編譯成功,呼叫的時候會提示缺其他dll。系統生成的main.h和main.cpp ifndef main h define main h include to...

C呼叫C 動態庫,靜態庫

c呼叫c 動態庫,靜態庫 1 include 2 using namespace std 34 class paul 5 10 11 int paul add int a,int b 12 17 18 extern c 如果沒有則不行 19 25 1 include 2 extern void ca...