[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
AW: [DotGNU]Windows specifica
From: |
Tobias Oberstein |
Subject: |
AW: [DotGNU]Windows specifica |
Date: |
Sun, 16 Feb 2003 10:09:37 +0100 |
> On Sunday 16 February 2003 10:52 am, Tobias Oberstein wrote:
> > I'd like to build a DLL under Windows using VC++ and statically
> > link Portable.NET.
>
> I don't like your chances of using VC++ to build Portable.NET.
> Pnet makes
> heavy use of shell scripts, bison, flex, and treecc to build
> source files on
> the fly to compile with gcc. Integrating these meta-conversion
> tools into
> VC++ will be extremely difficult.
Oh no, no: I don't want to build PNet _itself_ using VC++, but only
build some app with VC++ which merely links in statically PNet libs
that I have previously built using MingW.
>
> If you wish to submit patches for VC++, then we'd welcome them,
> but it isn't a
> high priority for us to work around broken MS compilers.
VC++ _is_ broken. I know, I do a lot of C++ template stuff. Comeau is
reference. Don't waste any time. I just want to _link_.
Btw: thanks for the "dlltool" hint .. I tried this on all libs:
dlltool -l libILEngine.lib -z libILEngine.def --export-all-symbols
libILEngine.a
which produces at least *.lib/*.def files.
So, I linked against those *.lib, but it didn't work. Now I'm linking
directly
all the *.a pnet libs.
This is how far I got up to now:
I had to modify "il_values.h" due to ..
il_values.h(71) : error C2632: 'long' followed by 'long' is illegal
il_values.h(72) : error C2632: 'long' followed by 'long' is illegal
ORIGINAL:
/*
* Determine which types should be used for 64-bit numeric values.
*/
#ifdef SIZEOF_LONG_LONG
#if SIZEOF_LONG_LONG == 8
typedef long long ILInt64;
typedef unsigned long long ILUInt64;
#define IL_HAVE_INT64
#endif
#endif
CHANGED:
/*
* Determine which types should be used for 64-bit numeric values.
*/
#ifdef SIZEOF_LONG_LONG
#if SIZEOF_LONG_LONG == 8
#if (!defined(IL_WIN32_NATIVE))
typedef long long ILInt64;
typedef unsigned long long ILUInt64;
#else
typedef __int64 ILInt64;
typedef unsigned __int64 ILUInt64;
#endif
#define IL_HAVE_INT64
#endif
#endif
Now, I'm left with 9 unresolved externals, and currently I'm lost again:
Deleting intermediate files and output files for project 'ILEmbed - Win32
Release'.
--------------------Configuration: ILEmbed - Win32
Release--------------------
Compiling...
ilembed.c
Linking...
LINK : warning LNK4049: locally defined symbol "__iob" imported
LINK : warning LNK4049: locally defined symbol "___mb_cur_max" imported
LINK : warning LNK4049: locally defined symbol "__pctype" imported
LINK : warning LNK4049: locally defined symbol "__timezone" imported
libILEngine.a(cvm.o) : error LNK2001: unresolved external symbol ___divdi3
libILSupport.a(time.o) : error LNK2001: unresolved external symbol ___divdi3
libILSupport.a(socket.o) : error LNK2001: unresolved external symbol
___divdi3
libILEngine.a(cvm.o) : error LNK2001: unresolved external symbol ___udivdi3
libILSupport.a(bignum.o) : error LNK2001: unresolved external symbol
___udivdi3
libILSupport.a(decimal.o) : error LNK2001: unresolved external symbol
___udivdi3
libILEngine.a(cvm.o) : error LNK2001: unresolved external symbol ___moddi3
libILSupport.a(time.o) : error LNK2001: unresolved external symbol ___moddi3
libILSupport.a(socket.o) : error LNK2001: unresolved external symbol
___moddi3
libILEngine.a(cvm.o) : error LNK2001: unresolved external symbol ___umoddi3
libILSupport.a(bignum.o) : error LNK2001: unresolved external symbol
___umoddi3
libILSupport.a(decimal.o) : error LNK2001: unresolved external symbol
___umoddi3
libILEngine.a(lib_task.o) : error LNK2001: unresolved external symbol
___p__environ
libILEngine.a(lib_math.o) : error LNK2001: unresolved external symbol
_remainder
libILSupport.a(time.o) : error LNK2001: unresolved external symbol
__imp__timezone
OLDNAMES.lib(timezone.obi) : error LNK2001: unresolved external symbol
__imp__timezone
libILSupport.a(file.o) : error LNK2001: unresolved external symbol __alloca
libILSupport.a(regex.o) : error LNK2001: unresolved external symbol __alloca
libILSupport.a(getcwd.o) : error LNK2001: unresolved external symbol
__alloca
libffi.a(ffi.o) : error LNK2001: unresolved external symbol __alloca
libffi.a(win32.o) : error LNK2001: unresolved external symbol ffi_prep_args
Release/ILEmbed.exe : fatal error LNK1120: 9 unresolved externals
Error executing link.exe.
ILEmbed.exe - 22 error(s), 4 warning(s)
- [DotGNU]Windows specifica, Tobias Oberstein, 2003/02/15
- Re: [DotGNU]Windows specifica, Rhys Weatherley, 2003/02/16
- AW: [DotGNU]Windows specifica,
Tobias Oberstein <=
- Re: AW: [DotGNU]Windows specifica, Rhys Weatherley, 2003/02/16
- AW: AW: [DotGNU]Windows specifica, Tobias Oberstein, 2003/02/16
- Re: AW: AW: [DotGNU]Windows specifica, Rhys Weatherley, 2003/02/16
- AW: AW: AW: [DotGNU]Windows specifica, Tobias Oberstein, 2003/02/16
- AW: AW: AW: [DotGNU]Windows specifica, Tobias Oberstein, 2003/02/16
- Re: AW: AW: AW: [DotGNU]Windows specifica, Gopal V, 2003/02/16
- AW: AW: AW: AW: [DotGNU]Windows specifica, Tobias Oberstein, 2003/02/16