我有一個應用程序依賴於過多的庫(我們不是全部)。大多數這些庫都是通過軟件包管理器安裝的。對於那些沒有,我已經重新編譯它們,但我仍然得到相同的libpng不兼容性錯誤。libpng警告:應用程序和庫中的libpng版本不兼容
libpng warning: Application was compiled with png.h from libpng-1.2.44
libpng warning: Application is running with png.c from libpng-1.4.3
這是一個錯誤,因爲生成的緩衝區爲空。我如何知道哪個庫鏈接到了新庫,哪個庫鏈接到了舊庫?
ldd <executable-name>
...
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f5a0660f000)
...
運行locate png.h
給我一對夫婦的系統級的文件
/usr/include/png.h
/usr/include/libpng12/png.h
所有這一切,都是44年2月1日。
我正在運行Ubuntu 11.04 x86-64。
更新:原來的OpenCV附帶了自己的版本的libpng這是1.4.3
哪個平臺? – 2011-04-04 21:18:48
@Dat Chu - 我正面臨同樣的問題,因爲你發現OpenCV自帶了libpng版本,我應該怎麼做才能正確編譯我的代碼?你遵循以下兩個建議中的哪一個?謝謝你的幫助! – Matteo 2012-02-15 17:32:00