Sign in to follow this  
TylerMoore

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

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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. ;)

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this