crystalclear wrote:I just tried compiling some of my chess software using the QT IDE.
I get error messages like this ....
- Code: Select all
undefined reference to `@__security_check_cookie@4'
A search on the internet seems to show that these are from microsoft including some buffer overflow attack checking in some of the standard C procedures, without them linking the library containing the appropriate software. A little research indicated that a compiler flag /GS- should be able to work around the microsft problem, but I don't know where to set that flag in the QT IDE GUI.
Another error message I get is
- Code: Select all
undefined reference to `_allshl'
This appears to be from trying to use 64 bit variables in places, ie bitboards fr some chess related routines. As far as I can tell, the compiler is trying to replace the 64 bit arithmetic routines with function calls written in 32 bit code, and these functions are not being linked into the executable. It's a case of the IDE's left hand not knowing what its right hand is doing.
You can control MS buffer overflow checks with pragmas
http://msdn.microsoft.com/en-us/library/ybwsy5f9
But that looks like a lousy fix(for several reasons).
Seems to me that the qt ide is missing out on some headers and/or libraries