2010-08-07 21 views
7

Tôi đang cố gắng để có được MinGW và MSYS làm việc để tôi có thể xây dựng iconv và libxml2 trong Windows, nhưng tôi đang tìm ./configure và tạo ra rất nhiều BSD/Unix liên quan các lỗi không đủ cụ thể cho google và không đủ mô tả để tôi tìm ra. Ai có thể đi qua một số bước cần thiết để có được iconv và libxml2 .dll/.lib được xây dựng trên một máy Win32?Xây dựng các biểu tượng mới nhấtvà libxml2 trong Win32

Tôi đang cập nhật thư viện cho một số phần mềm và tôi không quan tâm đến vấn đề này cả ngày hôm nay và chưa tìm ra. Tôi nhận được libpng, zlib và curl mới nhất được xây dựng mà không có vấn đề gì nhưng tôi thấy không có nhiều hỗ trợ hoặc cách thực hiện cho các thư viện này như có cho những người khác. Bất kỳ trợ giúp nào cũng sẽ được đánh giá cao, cảm ơn trước vì đã dành thời gian của bạn.

James

Trả lời

2

libxml2 cung cấp cấu hình JavaScript. Hãy tìm nó trong thư mục win32. Ngoài ra còn có một tập tin readme riêng biệt ở đó. Ví dụ về xây dựng libxml2:

cd win32 
cscript.exe configure.js compiler=mingw prefix=D:\soft\Qt\2010.03\mingw debug=yes static=yes 
mingw32-make -f Makefile.mingw 

Tôi đã downloaded prebuilt iconv và nó hoạt động cho tôi.

+0

Basilevs, Thanks, điều này đã làm việc cho libxml2, nhưng đối với iconv tôi muốn để có được mới nhất 1.13. 1 và xây dựng cái đó, nhưng không thể tìm thấy chúng ở bất cứ đâu. Tôi đã thử sử dụng những cái có sẵn trên Sourceforge với MinGW (http://sourceforge.net/downloads/mingw/MinGW/libiconv/libiconv-1.13.1/) nhưng không thể làm cho những người đó làm việc mà không làm một số công cụ hacky để thay đổi quy ước đặt tên iconv.dll. –

+0

Tôi luôn sử dụng thư viện tĩnh cho biểu tượng. Bạn đã thử chưa? – Basilevs

+0

Tôi đã phải làm điều này và cuối cùng làm cho nó hoạt động. Tuy nhiên, hãy chắc chắn rằng bạn sử dụng mingw32-make và không thực hiện. Vì lý do gì đó, hai người cư xử khác nhau đối với tôi. Có thể có một vấn đề đường dẫn, nhưng nó đang làm việc bây giờ vì vậy tôi sẽ để nó được. –

1

bạn có thể nhận được những chương trình cho các cửa sổ làm bởi Igor Zlatkovic tại http://www.zlatkovic.com/libxml.en.html

+0

Aaragorn, tôi đã xem những tập tin nhị phân đó, nhưng chúng lớn hơn những gì tôi đang có, anh ta chỉ có 1.9.2, tôi đã hy vọng cho một phiên bản mới hơn. Tôi hiểu nó có thể làm việc tốt với một phiên bản cũ hơn của .dll nhưng tôi đã cố gắng để tránh sự phụ thuộc của dựa trên dll xây dựng sẵn và cố gắng xây dựng của riêng tôi. Tôi đã chấp nhận thỏa hiệp và sẽ sử dụng một phiên bản cũ hơn, mặc dù tôi vẫn muốn tìm ra cách xây dựng iconv trên win32. Cygwin và MinGW/MSYS đã thất bại cho tôi ngay cả sau nhiều lần thử và giải pháp. –

3

Tôi nhận ra rằng tôi có thể làm sống lại một sợi chết, nhưng ...

Cái gì mà làm việc cho tôi là không biên dịch libs chia sẻ, thay vì phát sinh chúng bằng cách sử dụng công cụ a2dll như sau:

./configure --prefix=/mingw --disable-shared make make install

a2dll libiconv.a -o iconv.dll mv -iv iconv.dll /mingw/bin/

0

bạn phải làm sạch đầu tiên sau đó

./configure --host=arm-linux --disable-shared --enable-static CC="arm-linux-gcc" --prefix="/tmp/iconv" --with-configuredir="/tmp/iconv" 
make 
make install 

sau đó tại thư mục/tmp/iconv được libconv.a

+2

Win32, không phải linux – Alex

0

Gần đây tôi đã tìm thấy một tutorial từ Andrew Marlow (tháng 7 năm 2013), giải thích ngắn gọn về cách để biên dịch libxml2 dưới VisualStudio.

Có thể biên soạn libiconv theo sau complete tutorial này, cũng được cung cấp dưới dạng liên kết trong liên kết đầu tiên.

EDIT

Phiên bản 1,14 của libxml2 bây giờ có một giải pháp VS2010. Bây giờ nó rất đơn giản để làm điều này!

Nếu không, bạn có thể làm theo readme và hướng dẫn của Marlow để thực hiện cùng một công việc với các trình biên dịch cửa sổ cụ thể khác.

EDIT

Tôi muốn viết ra đây một số chi tiết về các giải pháp VS2010 kèm libxml2 v1.14, để giúp bất cứ ai quan tâm. Nó được thực hiện khá tồi tệ; ví dụ, cấu hình Phát hành không được thực hiện đúng cách, bạn phải làm điều đó. Nếu bạn muốn sử dụng nó, tôi cung cấp cho bạn hai lời khuyên:

  1. Xóa biểu tượng dự ánv nếu đường dẫn không chính xác. Sau đó, thêm tệp dự án của bạn; bạn sẽ vẫn có một cảnh báo khi biên dịch, do một tham chiếu được lưu giữ trên tệp cũ. Để chặn cảnh báo này, hãy chỉnh sửa.vcxproj với trình soạn thảo văn bản, thay đổi đường dẫn ProjectReference Include của Nhóm mục cuối cùng với đường dẫn chính xác, VÀ cũng là mục Project của nút này (thay thế nó bằng ProjectGuid của biểu tượng vcxproj).

  2. Liên kết với Ws2_32.lib bất kỳ ứng dụng nào bằng cách sử dụng thư viện tĩnh libxml2.lib.

Đây là một số lỗi mà tôi đã gặp phải, hy vọng điều này sẽ giúp bất kỳ ai muốn xây dựng lại libxml2 theo VS.

2

Môi trường mingw32

tôi đã có thể biên dịch libxml2 với sự giúp đỡ của bài viết này
https://mail.gnome.org/archives/xml/2011-December/msg00005.html
Bên trong win32 thư mục của giải nén http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
thực hiện 2 bước như sau

cscript configure.js threads:no static:yes compiler:mingw iconv:no prefix=where_you_want_to_install include=where_your_mingw_include_is lib=where_your_mingw_lib_is debug=yes 

và sau đó
mingw32-make -f Makefile.mingw


Tôi đã có thể biên dịch và thực thi http://xmlsoft.org/examples/reader1.c ví dụ sử dụng mã :: chặn trên mingw với môi trường Windows 7.
Hãy nhớ chỉ -lxml2-lws2_32 cờ trong "Tùy chọn mối liên kết khác" bên dưới "Dự án xây dựng tùy chọn"