這個是在Linux上編譯項目的時候,一個動態庫層用到的一個函數實現未找到,即使我鏈接了libpng2也沒有找到,原因是這個庫老了一些,沒有這個函數定義,需要鏈接更高版本的png庫,CentOS上有了在/usr/lib64/libpng15.so.15下,所以我readelf -s了下這個文件,果然有png_set_longjmp_fn這個符號,所以,就鏈接這個庫吧,對這個庫創建一個硬鏈接:ln /usr/lib64/libpng15.so.15 /usr/lib64/libpng15.so 就行了,鏈接命令行參數該為-lpng15, 然后標題說的錯誤就沒有了。
references:
http://stackoverflow.com/questions/5190554/unresolved-external-png-set-longjmp-fn-in-libpng
http://stackoverflow.com/questions/21545076/libpng-png-set-longjmp-fn-not-found
http://forums.duke4.net/topic/4718-patch-undefined-reference-to-png-set-longjmp-fn/