[pcre-dev] how to get pcre-7.0 dll on windows

Page principale
Supprimer ce message
Auteur: Bob Rossi
Date:  
À: pcre-dev
Sujet: [pcre-dev] how to get pcre-7.0 dll on windows
Hi,

I'm attempting to understand how the old dll's were created and how the
new ones are. That way, I can see the difference and explain the
situation clearly to a 3rd party.

However, if I download pcre-7.0 and do
$ ../pcre-7.0/configure --prefix=$PWD/../prefix --disable-static
--enable-shared
it only generates static libraries. Libtool complains that it has to.
The output of the make is attached.

How did anyone ever build a shared library on windows in the first
place?

Thanks,
Bob Rossi
gcc -c -g -O2 -I. ../pcre-7.0/dftables.c
/bin/sh ./libtool --mode=link gcc -g -O2  -I. -I../pcre-7.0 -o dftables.exe dftables.o
mkdir .libs
gcc -g -O2 -I. -I../pcre-7.0 -o dftables.exe dftables.o 
./dftables.exe pcre_chartables.c
 gcc -c -g -O2 -I. -I../pcre-7.0 pcre_chartables.c  -DPIC -o .libs/pcre_chartables.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_compile.c  -DPIC -o .libs/pcre_compile.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_config.c  -DPIC -o .libs/pcre_config.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_dfa_exec.c  -DPIC -o .libs/pcre_dfa_exec.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_exec.c  -DPIC -o .libs/pcre_exec.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_fullinfo.c  -DPIC -o .libs/pcre_fullinfo.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_get.c  -DPIC -o .libs/pcre_get.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_globals.c  -DPIC -o .libs/pcre_globals.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_info.c  -DPIC -o .libs/pcre_info.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_maketables.c  -DPIC -o .libs/pcre_maketables.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_newline.c  -DPIC -o .libs/pcre_newline.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_ord2utf8.c  -DPIC -o .libs/pcre_ord2utf8.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_refcount.c  -DPIC -o .libs/pcre_refcount.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_study.c  -DPIC -o .libs/pcre_study.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_tables.c  -DPIC -o .libs/pcre_tables.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_try_flipped.c  -DPIC -o .libs/pcre_try_flipped.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_ucp_searchfuncs.c  -DPIC -o .libs/pcre_ucp_searchfuncs.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_valid_utf8.c  -DPIC -o .libs/pcre_valid_utf8.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_version.c  -DPIC -o .libs/pcre_version.o
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_xclass.c  -DPIC -o .libs/pcre_xclass.o
rm -f libpcre.la
/bin/sh ./libtool --mode=link gcc -export-symbols-regex '^[^_]'  -I. -I../pcre-7.0 -rpath /home/bobbybrasko/download/pcre/pcre-7.0/build/../prefix/lib -version-info \
        '0:1:0' -o libpcre.la pcre_chartables.lo pcre_compile.lo pcre_config.lo pcre_dfa_exec.lo pcre_exec.lo pcre_fullinfo.lo pcre_get.lo pcre_globals.lo pcre_info.lo pcre_maketables.lo pcre_newline.lo pcre_ord2utf8.lo pcre_refcount.lo pcre_study.lo pcre_tables.lo pcre_try_flipped.lo pcre_ucp_searchfuncs.lo pcre_valid_utf8.lo pcre_version.lo pcre_xclass.lo 
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libpcre.a  .libs/pcre_chartables.o .libs/pcre_compile.o .libs/pcre_config.o .libs/pcre_dfa_exec.o .libs/pcre_exec.o .libs/pcre_fullinfo.o .libs/pcre_get.o .libs/pcre_globals.o .libs/pcre_info.o .libs/pcre_maketables.o .libs/pcre_newline.o .libs/pcre_ord2utf8.o .libs/pcre_refcount.o .libs/pcre_study.o .libs/pcre_tables.o .libs/pcre_try_flipped.o .libs/pcre_ucp_searchfuncs.o .libs/pcre_valid_utf8.o .libs/pcre_version.o .libs/pcre_xclass.o
ranlib .libs/libpcre.a
creating libpcre.la
(cd .libs && rm -f libpcre.la && ln -s ../libpcre.la libpcre.la)
 gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcreposix.c  -DPIC -o .libs/pcreposix.o
rm -f libpcreposix.la
/bin/sh ./libtool --mode=link gcc -export-symbols-regex '^[^_]'  -I. -I../pcre-7.0 -rpath /home/bobbybrasko/download/pcre/pcre-7.0/build/../prefix/lib libpcre.la -version-info \
        '0:0:0' -o libpcreposix.la pcreposix.lo


*** Warning: This system can not link to static lib archive libpcre.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libpcreposix.a  .libs/pcreposix.o
ranlib .libs/libpcreposix.a
creating libpcreposix.la
(cd .libs && rm -f libpcreposix.la && ln -s ../libpcreposix.la libpcreposix.la)
gcc -c -g -O2 -I. -I../pcre-7.0   \
         ../pcre-7.0/pcretest.c
/bin/sh ./libtool --mode=link gcc -g -O2  -I. -I../pcre-7.0   -o pcretest.exe  \
        pcretest.o \
        libpcre.la libpcreposix.la
gcc -g -O2 -I. -I../pcre-7.0 -o pcretest.exe pcretest.o  ./.libs/libpcre.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a
gcc -c -g -O2 -I. -I../pcre-7.0   \
        -DIS_UNIX ../pcre-7.0/pcregrep.c
/bin/sh ./libtool --mode=link gcc -g -O2  -I. -I../pcre-7.0 -o pcregrep.exe pcregrep.o libpcre.la
gcc -g -O2 -I. -I../pcre-7.0 -o pcregrep.exe pcregrep.o  ./.libs/libpcre.a
 g++ -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcrecpp.cc  -DPIC -o .libs/pcrecpp.o
 g++ -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_scanner.cc  -DPIC -o .libs/pcre_scanner.o
 g++ -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_stringpiece.cc  -DPIC -o .libs/pcre_stringpiece.o
rm -f libpcrecpp.la
/bin/sh ./libtool --mode=link g++  -I. -I../pcre-7.0 -rpath /home/bobbybrasko/download/pcre/pcre-7.0/build/../prefix/lib libpcre.la -version-info \
        '0:0:0' -o libpcrecpp.la pcrecpp.lo pcre_scanner.lo pcre_stringpiece.lo


*** Warning: This system can not link to static lib archive libpcre.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libpcrecpp.a  .libs/pcrecpp.o .libs/pcre_scanner.o .libs/pcre_stringpiece.o
ranlib .libs/libpcrecpp.a
creating libpcrecpp.la
(cd .libs && rm -f libpcrecpp.la && ln -s ../libpcrecpp.la libpcrecpp.la)
g++ -c -g -O2 -I. -I../pcre-7.0   \
         ../pcre-7.0/pcrecpp_unittest.cc
/bin/sh ./libtool --mode=link g++ -g -O2  -I. -I../pcre-7.0   -o pcrecpp_unittest.exe \
        pcrecpp_unittest.o \
        libpcrecpp.la libpcreposix.la
g++ -g -O2 -I. -I../pcre-7.0 -o pcrecpp_unittest.exe pcrecpp_unittest.o  ./.libs/libpcrecpp.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a
g++ -c -g -O2 -I. -I../pcre-7.0   \
         ../pcre-7.0/pcre_scanner_unittest.cc
/bin/sh ./libtool --mode=link g++ -g -O2  -I. -I../pcre-7.0   \
        -o pcre_scanner_unittest.exe \
        pcre_scanner_unittest.o \
        libpcrecpp.la libpcreposix.la
g++ -g -O2 -I. -I../pcre-7.0 -o pcre_scanner_unittest.exe pcre_scanner_unittest.o  ./.libs/libpcrecpp.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a
g++ -c -g -O2 -I. -I../pcre-7.0   \
         ../pcre-7.0/pcre_stringpiece_unittest.cc
/bin/sh ./libtool --mode=link g++ -g -O2  -I. -I../pcre-7.0   \
        -o pcre_stringpiece_unittest.exe \
        pcre_stringpiece_unittest.o \
        libpcrecpp.la libpcreposix.la
g++ -g -O2 -I. -I../pcre-7.0 -o pcre_stringpiece_unittest.exe pcre_stringpiece_unittest.o  ./.libs/libpcrecpp.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a