gcc編譯鏈接動態庫時,很有可能編譯通過,但是執行時,找不到動態鏈接庫,那是
因爲-L選項指定的路徑只在編譯時有效,編譯出來的可執行文件不知道-L選項後面的值,
當然找不到。可以用ldd <your_execute>看看是不有 ‘not found’在你鏈接的庫後面,
解決方法是通過-Wl,rpath=<your_lib_dir>,使得execute記住鏈接庫的位置
gcc編譯鏈接動態庫時,很有可能編譯通過,但是執行時,找不到動態鏈接庫,那是
因爲-L選項指定的路徑只在編譯時有效,編譯出來的可執行文件不知道-L選項後面的值,
當然找不到。可以用ldd <your_execute>看看是不有 ‘not found’在你鏈接的庫後面,
解決方法是通過-Wl,rpath=<your_lib_dir>,使得execute記住鏈接庫的位置
靜態庫 $gcc -c *.c -o *.o 生成目標文件 $ar crs libmyhello.a *.o 生成庫 $gcc *.c -o x -lmyhello 鏈接庫,生成可執行文件