我编译了一个程序,它依赖于tiff共享库,在我的计算机上,库的版本是libtiff.so.4,但它无法在另一台计算机上运行(tiff的主要版本号是5,libtiff。 so.5的)。
任何人都有一个很好的方法来解决这个问题
感谢
linux-gate.so.1 => (0xb76f3000)
libtiff.so.4 => not found
libQtGui.so.4 => /home/ken/wpsenv/3rdparty/qt/lib/libQtGui.so.4 (0xb69cb000)
答案 0 :(得分:2)
共享库版本(称为“soname”)的想法是反映二进制兼容性。当你的程序链接到libtiff.so.4时,那就是它需要的版本。 libtiff.so.5将是一个与libtiff.so.4不兼容的新库。 (此处的版本号不需要与项目的官方版本匹配,.4和.5应该反映二进制向后兼容级别。)
您有两个选择:
答案 1 :(得分:0)
将libtiff.a静态链接到您的程序,如果您的系统中存在选项和libtiff.a。
gcc main.c path-to-libtiff.a -o myprog