Abdelrazak Younes a écrit :
Abdelrazak Younes a écrit :
Abdelrazak Younes a écrit :
Abdelrazak Younes a écrit :
[...]
It seems to :-)
ar+ranlib libqt2 was done in 10 minutes and less than 400 Megs.
final exe linking took less than 10 minutes and less than 400 Megs
With the qt4 frontend, libqt4 and lyx-qt4 linking are done in less
than 30 seconds!
But, I had to modify the finale linking command because for whatever
reason it tried to link with "/usr/lib/libiconv.dll.a" which of
course does not exists. Correcting that to d:/mingw/lib/iconv.lib did
the trick! I am sure this is due to this patch or to something else.
I have the same problem for qt4. My config.log doesn't have any info
on that. I have upgraded my libicon
(http://gnuwin32.sourceforge.net/packages/libiconv.htm) but the
problem remains. Replacing "/usr/lib/libiconv.dll.a" by "-liconv"
works perfectly. I noticed that my "d:/mingw/lib/libiconv.la" has a
similar library name ('libiconv.dll.a', see content below).
Any idea someone?
I have one... /usr/lib/libiconv.dll.a is indeed there on cygwin and
that's what "configure" is finding. But as mingw gcc doesn't know about
cygwin, it cannot understand this path. I noticed a
"--with-libiconv-prefix" option, I'll try to use that.
Nope, doesn't work either with if I pass
--with-libiconv-prefix='/cygdrive/d/mingw'... The final linking still
insists on using "/usr/lib/libiconv.dll.a". In my config.log, I have:
configure:30468: checking for iconv
configure:30495: gcc -o conftest.exe -O3 -Wextra -Wall -Wall
-Id:/program/Aspell-0.60.4/include
-I/cygdrive/d/program/Aspell-0.60.4/include
-L/cygdrive/d/program/Aspell-0.60.4/lib conftest.c -lm >&5
c:\DOCUME~1\YNSERC~1.000\LOCALS~1\Temp/ccAbcaaa.o:conftest.c:(.text+0x2b):
undefined reference to `_imp__libiconv_open'
c:\DOCUME~1\YNSERC~1.000\LOCALS~1\Temp/ccAbcaaa.o:conftest.c:(.text+0x4e):
undefined reference to `_imp__libiconv'
c:\DOCUME~1\YNSERC~1.000\LOCALS~1\Temp/ccAbcaaa.o:conftest.c:(.text+0x57):
undefined reference to `_imp__libiconv_close'
collect2: ld returned 1 exit status
configure:30501: $? = 1
configure: failed program was:
| /* confdefs.h. */
[...]
| }
configure:30546: gcc -o conftest.exe -O3 -Wextra -Wall -Wall
-Id:/program/Aspell-0.60.4/include
-I/cygdrive/d/program/Aspell-0.60.4/include
-L/cygdrive/d/program/Aspell-0.60.4/lib conftest.c -lm -liconv >&5
configure:30552: $? = 0
configure:30556: test -z
|| test ! -s conftest.err
configure:30559: $? = 0
configure:30562: test -s conftest.exe
configure:30565: $? = 0
configure:30580: result: yes
configure:30590: checking how to link with libiconv
configure:30592: result: -liconv
configure:30603: checking for iconv declaration
configure:30637: gcc -c -O3 -Wextra -Wall -Wall
-Id:/program/Aspell-0.60.4/include
-I/cygdrive/d/program/Aspell-0.60.4/include conftest.c >&5
conftest.c:87: error: conflicting types for 'libiconv'
d:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/iconv.h:88:
error: previous declaration of 'libiconv' was here
conftest.c:87: error: conflicting types for 'libiconv'
d:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/iconv.h:88:
error: previous declaration of 'libiconv' was here
configure:30643: $? = 1
configure: failed program was:
| /* confdefs.h. */
[...]
| #define HAVE_ICONV 1
| /* end confdefs.h. */
|
| #include <stdlib.h>
| #include <iconv.h>
| extern
| #ifdef __cplusplus
| "C"
| #endif
| #if defined(__STDC__) || defined(__cplusplus)
| size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char *
*outbuf, size_t *outbytesleft);
| #else
| size_t iconv();
| #endif
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:30671: result:
extern size_t iconv (iconv_t cd, const char * *inbuf, size_t
*inbytesleft, char * *outbuf, size_t *outbytesleft);
configure:30682: checking for nl_langinfo and CODESET
configure:30703: gcc -o conftest.exe -O3 -Wextra -Wall -Wall
-Id:/program/Aspell-0.60.4/include
-I/cygdrive/d/program/Aspell-0.60.4/include
-L/cygdrive/d/program/Aspell-0.60.4/lib conftest.c -lm >&5
conftest.c:80:22: langinfo.h: No such file or directory
conftest.c: In function `main':
conftest.c:84: warning: implicit declaration of function `nl_langinfo'
conftest.c:84: error: `CODESET' undeclared (first use in this function)
conftest.c:84: error: (Each undeclared identifier is reported only once
conftest.c:84: error: for each function it appears in.)
conftest.c:84: warning: initialization makes pointer from integer
without a cast
conftest.c:84: warning: unused variable `cs'
configure:30709: $? = 1
configure: failed program was:
| /* confdefs.h. */
iconv.h has this at line 88:
extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* *
inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
conftest.h does not exists, I assume it is generated on the fly by
configure as listed by the config.log:
#if defined(__STDC__) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char *
*outbuf, size_t *outbytesleft);
#else
So I guess there an incompatibility here and that we could modify the
contest.h in consequence:
#if defined(__STDC__) || defined(__cplusplus)
#ifndef LIBICONV_DLL_EXPORTED
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char *
*outbuf, size_t *outbytesleft);
#endif
#else
Comments?
Abdel.