> -----Original Message----- > From: Jon [mailto:[email protected]] On Behalf Of JonY > Sent: Thursday, January 27, 2011 5:50 PM > To: Dock, Dion > Cc: [email protected] > Subject: Re: [Mingw-w64-public] undefined reference to __GSHandlerCheck > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 1/28/2011 09:29, Dock, Dion wrote: > > I've searched and searched for an answer but maybe my Google-fu is > weak. > > > > We produce a library with VS 2005. When I try to link it into a test > > program using g++, I get lots of messages like > > > > ... > > > C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\release\mgls64.lib(./x6 > 4/release/lpclsdll.obj):(.text[?messageBox@@YAXPEAD@Z]+0xcb): > undefined reference to `__security_check_cookie' > > > C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\release\mgls64.lib(./x6 > 4/release/lpclsdll.obj):(.xdata[$unwind$?messageBox@@YAXPEAD@Z]+0xc) > : undefined reference to `__GSHandlerCheck' > > ... > > > > If I recompile our library without the "Buffer Security Check" option > > (/GS-), > then ld.exe crashes after the compile: > > > > C:\Temp>C:\mingw_64\bin\x86_64-w64-mingw32-g++.exe checkout.cpp > C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\release\mgls64.lib -I > C:\Views\dockd_headers\lip__mgls_nt\mgls_nt\src\include > > checkout.cpp: In function 'int main()': > > checkout.cpp:12:47: warning: deprecated conversion from string > constant to 'char *' > > collect2: ld returned 5 exit status > > > > Any thoughts on where `__GSHandlerCheck' and > `__security_check_cookie' are defined? There has to be a way to link with a > Visual Studio created lib. > > > > thanks, > > -Dion > > Hi, > > you should never link C++ libraries from different compilers together as they > have different ABIs underneath, though C is usually fine. I'm surprised that > it > even worked. > > I don't know what __GSHandlerCheck and __security_check_cookie are, > possibly found only in MSVC libraries.
I tried recompiling the source as C code (not C++) with Visual Studio and these problems still occurred. They go away if I compile the source with gcc. I thought C compilers produced interchangeable code? -Dion ------------------------------------------------------------------------------ Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
