我正在尝试使用bzlib库将传入的数据流压缩到一个文件中。
当我运行单个程序g++ -lbz2 compress.cpp; ./a.out
进行压缩/解压缩时,它可以无缝地工作。
但是当我创建一个相同代码的compress.so文件并在另一个run.so文件中调用它时,生成了压缩文件(file.bz2),但它没有任何数据。
我通过添加
链接libbzip2 -Wl,-R,/home/utils/bzip2-1.0.6/lib -Wl,--whole-archive -lbz2 -Wl,--no-whole-archive -shared
到生成compress.so文件的Makefile
运行时,我没有收到任何错误。 libbzip2被链接的方式有问题吗?