2012-08-16 18 views
6

Tôi cần phải xây dựng một lib được cấu hình với autotools. Các bước configure && make && make install thông thường tạo lib được chia sẻ phiên bản, giống như libfoo.so.x.x Có thể sửa đổi configure.ac hoặc Makefile.am (và tất nhiên theo dõi autoreconf) để lib chưa được phiên bản được xây dựng.GNU Autotools: xây dựng lại mà không cần thông tin phiên bản

Cảm ơn bạn!

Trả lời

10

Có, giả sử thư viện được xây dựng với libtool, bạn có thể xóa thông tin phiên bản bằng cách thêm cờ -avoid-version vào LDFLAGS của thư viện.

Ví dụ: nếu trước đây có libfoo_la_LDFLAGS = -version-info 1:0 bạn sẽ đổi thành libfoo_la_LDFLAGS = -avoid-version. Sau đó, bạn sẽ tạo lại và chạy lại cấu hình (autoreconf -vfi & & ./configure) và xây dựng lại.

Chỉ cần xóa -version-info ... là không đủ, vì libtool sau đó sẽ tạo thư viện có thông tin phiên bản 0.0.0.

Xem hướng dẫn sử dụng libtool để biết thêm thông tin: http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html