This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Cygwin - linker errors - __assert, __itob and __ftol
- From: Brian Dessent <brian at dessent dot net>
- To: C S <usmgoldeneagle at gmail dot com>
- Cc: cygwin <cygwin at cygwin dot com>
- Date: Sat, 31 May 2008 04:26:06 -0700
- Subject: Re: Cygwin - linker errors - __assert, __itob and __ftol
- References: <4ae9b89d0805301549i5ee30654l5f6335544ea38780@mail.gmail.com>
- Reply-to: cygwin at cygwin dot com
C S wrote:
> gcc -D__int64="long long" -shared -I\C:\Apps\Java\jdk1.6.0_05\include
> -I\C:\Apps\Java\jdk1.6.0_05\include\win32 -I\c:\Users\usmsci\My
> Documents\shapefiles\shapelib128_bin_win -L\c:\Users\usmsci\My
> Documents\shapefiles\shapelib128_bin_win myFile.cpp -o
> libShapeData.dll c:\Users\usmsci\My
> Documents\shapefiles\shapelib128_bin_win\shpopen.obj
> c:\Users\usmsci\My
> Documents\shapefiles\shapelib128_bin_win\dbfopen.obj
>
> the errors i get are:
>
> Warning: .drectve '-defaultlib:LIBC' - unrecognized
> Warning: .drectve '-defaultlib:OLDNAMES' - unrecognized
> Warning: .drectve '-defaultlib:LIBC' - unrecognized
> Warning: .drectve '-defaultlib:OLDNAMES' - unrecognized
>
> c:\Users\usmsci\My Documents\shapefiles\shapelib128_bin_win\shpopen.o:shpopen.c
> (.text+0x1485):undefined reference to __assert
You can't mix and match objects like that. Those objects compiled by
MSVC expect to be linked with the MSVCRT runtime, and here you're trying
to link them against the Cygwin runtime. That's the cause of the linker
errors. You can't do that. Every object needs to be consistent in the
runtime that it was compiled against. So either you need to build
everything against MSVCRT (i.e. gcc -mno-cygwin or using MSVC) or you
need to build everything against Cygwin. But you can't do some with one
and some the other.
Brian
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/