C++ (VS 6.0) Question - "long long"

Started by
7 comments, last by TylerMoore 14 years, 10 months ago
Hello, I'm trying to compile a rather large project I was given on a new computer, it's missing a few additional includes and the like so I'm working through it build by build to get a working release. at the moment, my compiler (Visual Studio 6.0, C++) is having problems with this line: --- typedef unsigned long long __m64, __int64; --- I'm pretty sure it's something to do with "long long": c:\program files\microsoft visual studio\vc98\include\mmintrin.h(31) : error C2632: 'long' followed by 'long' is illegal c:\program files\microsoft visual studio\vc98\include\mmintrin.h(31) : warning C4518: '__int64 ' : storage-class or type specifier(s) unexpected here; ignored c:\program files\microsoft visual studio\vc98\include\mmintrin.h(31) : error C2059: syntax error : ';' c:\program files\microsoft visual studio\vc98\include\mmintrin.h(34) : error C2146: syntax error : missing ';' before identifier '__attribute__' c:\program files\microsoft visual studio\vc98\include\mmintrin.h(34) : fatal error C1004: unexpected end of file found Is there any insight/advice on this problem? Also, I should add that this include file (mmintrin.h) was added into the include directory from another source. I'm not even very sure what it does, I just know the first build mentioned that it was missing. Any help would be appreciated, thanks.
Advertisement
Don't use VS 6.0, it's incredibly outdated.
VS Express (2005 or 2008) or the GCC (with an IDE like Code::blocks, Eclipse or another you prefer) would be a great improvement, they're free so cost shouldn't be an issue.
Other than that you could probably just use "__int64" to get a long long.
We have a fully functional working copy of Visual Studio 2008 (the express editions have been giving us major problems), however, compiling on that platform seems to cause a lot of issues with the directX libraries with regards to this code.

Also, what do you mean use "__int64 to get a long long?", replace all instances of __m64 in the code after with __int64?

Thanks
Actually thinking about it a bit more, its because the mmintrin.h file you've added isn't the correct file for VS 6.0, you need to get the Processor pack for VS 6.0 http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx.
So delete mmintrin.h and install the processor pack and that should fix it.
long long wasn't added to visual studio until 2003 .NET. Therefore, visual studio 6 is not functionally able to work with long long using that IDE.

http://msdn.microsoft.com/en-us/library/aa983524(VS.71).aspx
"The long long type is now available as a typedef of __int64. See Fundamental Types for more information. Note that there is not yet support for long long in the CRT."

As for your DirectX libraries, are you sure you have correct one installed for the app you are developing. Maybe you are one version behind? Either that or your libraries are not where your path is expecting them to be.

As some of the previous posters said, move up to a more recent version of Visual Studio. After installing 2005/2008 reinstall your DX SDK.
- Advice, eh? Well, besides working on your swing...you know, besides that...I'd have to think.
Quote:Original post by TylerMoore
We have a fully functional working copy of Visual Studio 2008 (the express editions have been giving us major problems), however, compiling on that platform seems to cause a lot of issues with the directX libraries with regards to this code.


DirectX works fine with VS2k8 (whereas VC6 is no longer supported by DX, I believe).

So fix your code. If your excuse for using a broken compiler is "our code is broken too", then, well, you should probably make it non-broken. ;)
lol, well I will try based on the feedback then.

There's a lot more support for 2008 and directX than 6.0, I've just never had problems with 6.0 before and lots with 2008 so there's a bitter taste and bad luck there.

Especially since VS 6.0 SP5 refuses to install on my machine, which is needed to install the processor pack you kindly recommended. (thank you utter lack of error messages, which tells me it's like likely an OS issue, SP5 is not supported on XP)

Installing the March 2009 SDK as we speak.

Also, it doesn't matter where I install the actual SDK, as long as the solution links to it properly right?
Yes, the path itself where DirectX is installed doesn't matter if it can be resolved by the project settings.

What kind of problems have you had with VS 2008. In office we use 2005 and 2008 and I use 2008 at home and have hardly had any issues at all.


The more applications I write, more I find out how less I know
Mostly it had to do with resource editing (Was making a simple Autorun menu) and the like, but I think it was because I was using express which doesn't support it.

This topic is closed to new replies.

Advertisement