Brian, i figured out that not only do i need to compile against the no-cygwin flag but also link to it as well. so i tried to add the -Wl option like this:
g++ -mno-cygwin -D__int64="long long" -W1-mno-cygwin -shared -I "C:\Apps\Java\jdk1.6.0_05\include" -I "C:\Apps\Java\jdk1.6.0_05\include\win32" -I "C:\Users\me\My Documents\shapefiles\shapelib-1.2.10\shapelib-1.2.10" -I "C:\Users\me\My Documents\shapefiles\shapelib128_bin_win" -L "C:\Users\me\My Documents\shapefiles\shapelib128_bin_win" myFile.cpp -o libShapeData.dll "C:\Users\me\My Documents\shapefiles\shapelib128_bin_win\shpopen.obj" "C:\Users\me\My Documents\shapefiles\shapelib128_bin_win\dbfopen.obj" the error i get now is: /usr/lib/gcc/i686-pc-mingw32/3.4.4../../../../i686-pc-mingw32/bin/ld: unrecognized emulation mode: no-cygwin Supported Emulations: i386pe collect2: ld returned exit status at the prompt i did a ls /lib/gcc/i686-pc-mingw32 and it returned 3.4.4 so that seems right. any clues or suggestions?? thanks all in advance! On Sat, May 31, 2008 at 6:26 AM, Brian Dessent <[EMAIL PROTECTED]> wrote: > 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/