This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin - linker errors - __assert, __itob and __ftol


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]