Using VS2008 Professional, I have built SDL 1.3 dated (1/20/2010)
with no problems.
However, when I attempt to build an application that successfully
compiles/links successfully with SDL 1.2.14, I get a long list of warnings
and errors when building with SDL 1.3. (See below).
Just to eliminate the possibility of a corrupt project/solution file, I have
tried creating a new project from scratch, but it yields the same results.
Something in the #include files seems to be incompatible with VS2008.
Using VS2010 Express (with SDL 1.3 built with VS2010) works perfectly well.
But I would prefer not to migrate to VS2010 yet.
Thanks in advance.
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(96) : warning C4190: ‘&’ has C-linkage specified, but returns UDT ‘M64’ which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(97) : warning C4190: ‘|’ has C-linkage specified, but returns UDT ‘M64’ which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(98) : warning C4190: ‘^’ has C-linkage specified, but returns UDT ‘M64’ which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(99) : warning C4190: ‘andnot’ has C-linkage specified, but returns UDT ‘M64’ which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(162) : warning C4190: ‘cmpeq’ has C-linkage specified, but returns UDT ‘I32vec2’ which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(133) : see declaration of ‘I32vec2’
(to be continued…)
There are also some errors:
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(233) : error C2733: second C linkage of overloaded function ‘cmpeq’ not allowed
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(233) : see declaration of 'cmpeq’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(234) : error C2733: second C linkage of overloaded function ‘cmpneq’ not allowed
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(234) : see declaration of ‘cmpneq’
those errors are concerning, and unfortunely I don’t use MSVC and thus can’t help.
However, I can tell you that SDL 1.3 uses a very different API from SDL1.2 and all SDL 1.2 compatibility functions are in SDL_compat.h instead of their normal headers.
See if that doesn’t fix most of your non-totally-bizarre errors.------------------------
EM3 Nathaniel Fries, U.S. Navy
I have a fix for this, attached. I’ll push it to the repository once we get
commit access worked out.On Fri, Jan 21, 2011 at 6:38 PM, adamvsmith wrote:
Using VS2008 Professional, I have built SDL 1.3 dated (1/20/2010)
with no problems.
However, when I attempt to build an application that successfully
compiles/links successfully with SDL 1.2.14, I get a long list of warnings
and errors when building with SDL 1.3. (See below).
Just to eliminate the possibility of a corrupt project/solution file, I
have
tried creating a new project from scratch, but it yields the same results.
Something in the #include files seems to be incompatible with VS2008.
Using VS2010 Express (with SDL 1.3 built with VS2010) works perfectly well.
But I would prefer not to migrate to VS2010 yet.
Thanks in advance.
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(96)
: warning C4190: ‘&’ has C-linkage specified, but returns UDT ‘M64’ which is
incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77)
: see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(97)
: warning C4190: ‘|’ has C-linkage specified, but returns UDT ‘M64’ which is
incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77)
: see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(9[image:
Cool] : warning C4190: ‘^’ has C-linkage specified, but returns UDT 'M64’
which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77)
: see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(99)
: warning C4190: ‘andnot’ has C-linkage specified, but returns UDT 'M64’
which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(77)
: see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(162)
: warning C4190: ‘cmpeq’ has C-linkage specified, but returns UDT 'I32vec2’
which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(133) : see declaration of ‘I32vec2’
(to be continued…)
There are also some errors:
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(233)
: error C2733: second C linkage of overloaded function ‘cmpeq’ not allowed
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(233) : see declaration of 'cmpeq’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(234)
: error C2733: second C linkage of overloaded function ‘cmpneq’ not allowed
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(234) : see declaration of ‘cmpneq’
See ya!On Sat, Jan 22, 2011 at 11:59 AM, Sam Lantinga <@slouken> wrote:
I have a fix for this, attached. I’ll push it to the repository once we
get commit access worked out.
On Fri, Jan 21, 2011 at 6:38 PM, adamvsmith wrote:
Using VS2008 Professional, I have built SDL 1.3 dated (1/20/2010)
with no problems.
However, when I attempt to build an application that successfully
compiles/links successfully with SDL 1.2.14, I get a long list of warnings
and errors when building with SDL 1.3. (See below).
Just to eliminate the possibility of a corrupt project/solution file, I
have
tried creating a new project from scratch, but it yields the same results.
Something in the #include files seems to be incompatible with VS2008.
Using VS2010 Express (with SDL 1.3 built with VS2010) works perfectly
well.
But I would prefer not to migrate to VS2010 yet.
Thanks in advance.
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(96)
: warning C4190: ‘&’ has C-linkage specified, but returns UDT ‘M64’ which is
incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(97)
: warning C4190: ‘|’ has C-linkage specified, but returns UDT ‘M64’ which is
incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(9[image:
Cool] : warning C4190: ‘^’ has C-linkage specified, but returns UDT 'M64’
which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ivec.h(99)
: warning C4190: ‘andnot’ has C-linkage specified, but returns UDT 'M64’
which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(77) : see declaration of 'M64’
1>C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(162) : warning C4190: ‘cmpeq’ has C-linkage specified,
but returns UDT ‘I32vec2’ which is incompatible with C
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(133) : see declaration of ‘I32vec2’
(to be continued…)
There are also some errors:
1>C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(233) : error C2733: second C linkage of overloaded
function ‘cmpeq’ not allowed
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(233) : see declaration of 'cmpeq’
1>C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(234) : error C2733: second C linkage of overloaded
function ‘cmpneq’ not allowed
1> C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\ivec.h(234) : see declaration of ‘cmpneq’