VC++ 2008 Express Edition

http://www.microsoft.com/express/vc/

I noticed that the VC++ 2008 EE website specifically mentions these two points:

# Harness latest features of the Windows Platform SDK starting with the streamlined installation

# Create native Win32 and Win64 applications

Do you think this means that the Platform SDK is now included with the express edition?

hey thanks ! that’s a good link, I’m downloading the ISO now to give it a try.

take care
zach

Well, I installed VS2008 EE and it seems as though the platform SDK (now renamed to windows SDK seemingly) is indeed included. However, I’m still having issues compiling the emptyProject with it, I’m getting an error during linking with the rtAudio lib in both debug and release (and I tried the versions offered in the thread related to rtAudio.lib, same errors).

------ Rebuild All started: Project: openFrameworksApp, Configuration: Debug Win32 ------
Deleting intermediate and output files for project ‘openFrameworksApp’, configuration ‘Debug|Win32’
Compiling…
cl : Command line warning D9035 : option ‘Wp64’ has been deprecated and will be removed in a future release
main.cpp
testApp.cpp
ofAppRunner.cpp
ofGraphics.cpp
ofImage.cpp
ofTexture.cpp
ofTrueTypeFont.cpp
ofSoundPlayer.cpp
ofSoundStream.cpp
ofMath.cpp
ofUtils.cpp
ofQtUtils.cpp
ofVideoGrabber.cpp
ofVideoPlayer.cpp
ofSerial.cpp
Generating Code…
Compiling manifest to resources…
Microsoft ® Windows ® Resource Compiler Version 6.0.5724.0
Copyright © Microsoft Corporation. All rights reserved.
Linking…
rtAudioD.lib(RtAudio.obj) : error LNK2019: unresolved external symbol “__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)” (__imp_??1_Container_base@std@@QAE@XZ) referenced in function “public: __thiscall std::_Vector_val<int,class std::allocator >::~_Vector_val<int,class std::allocator >(void)” (??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ)
rtAudioD.lib(RtAudio.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function “protected: void __thiscall std::vector<int,class std::allocator >::_Tidy(void)” (?_Tidy@?$vector@HV?$allocator@H@std@@@std@@IAEXXZ)
rtAudioD.lib(RtAudio.obj) : error LNK2019: unresolved external symbol “__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)” (__imp_??0_Container_base@std@@QAE@XZ) referenced in function “protected: __thiscall std::_Vector_val<int,class std::allocator >::_Vector_val<int,class std::allocator >(class std::allocator)” (??0?$_Vector_val@HV?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z)
Debug\openFrameworksApp.exe : fatal error LNK1120: 3 unresolved externals
Build log was saved at “file://m:\dev\openFrameworks\0.04_vs\app\emptyExample\obj\Debug\BuildLog.htm”
openFrameworksApp - 4 error(s), 1 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

------ Build started: Project: openFrameworksApp, Configuration: Release Win32 ------
Compiling…
cl : Command line warning D9035 : option ‘Wp64’ has been deprecated and will be removed in a future release
ofSerial.cpp
ofVideoPlayer.cpp
ofVideoGrabber.cpp
ofQtUtils.cpp
ofUtils.cpp
ofMath.cpp
ofSoundStream.cpp
ofSoundPlayer.cpp
ofTrueTypeFont.cpp
ofTexture.cpp
ofImage.cpp
ofGraphics.cpp
ofAppRunner.cpp
testApp.cpp
main.cpp
Linking…
fatal error C1047: The object or library file ‘…\libs\rtAudio\rtAudio.lib’ was created with an older compiler than other objects; rebuild old objects and libraries
LINK : fatal error LNK1257: code generation failed
Build log was saved at “file://m:\dev\openFrameworks\0.04_vs\app\emptyExample\obj\Release\BuildLog.htm”
openFrameworksApp - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

hmm it looks like we’ll have to rebuild rtAudio and rtAudiod… I’m going to try to do it without some flags here, maybe that will help.

some info:

C1047 is caused when object files or libraries built with /LTCG are linked together, but where those object files or libraries are built with different versions of the Visual C++ toolset.

This can happen if you begin using a new version of the compiler but do not do a clean rebuild of existing object files or libraries.

To resolve C1047, rebuild all object files or libraries.

about the other errors, I don’t know but they could be caused the same way.

I’ll take a look at building rtAudio without some flags to make linking easier. It might be that we have to rebuild it in 2008, but I don’t think so - checking on it now…

thanks!!
zach

I gave compiling the library in 08 a shot and failed, there are just too many dependencies that I don’t have and am not sure where to get.

thanks - if you want to post the errors as a text file I can parse it for you - likely it’s some windows stuff you might need, like the directx sdk.

I’ll give it a try as soon as I can –

take care,
zach

Hey guys,

Were you able to resolve this? I am trying to install OF for Visual C++, using the latest release from Microsoft (2008 Express Edition), but I can’t get any of the example projects to compile, due to the rtAudio error.

I get this error:

fatal error C1047: The object or library file ‘…\libs\rtAudio\rtAudio.lib’ was created with an older compiler than other objects; rebuild old objects and libraries
1>LINK : fatal error LNK1257: code generation failed

Is there any workaround here? Any way to get OF working for PC, using 2008 Express Edition? Not quite sure how to proceed…

Thanks!

Jonathan

2008 support is coming mighty soon, likely early next week. we have to recompile rtAudio and a couple other small things - should be done with the 0.05 release. It just came out a couple weeks ago, so we are going to support it shortly -

OK, great.

In the meantime, should I just try installing Visual C++ 2005 Express? Is that the next best thing for PC? http://msdn2.microsoft.com/en-us/vstudio/aa700736.aspx

Thanks.

Jonathan

I think it’s completely fine to install vs 2005. I personally recommend devc++ for folks starting off (but disable code completion, it’s buggy). It’s very light and just fine for basic stuff. I like the simplicty of the interface, ie (“optimize”, “optimize more”, “optimize most”)

I myself use codewarrior because it’s super effecient, but vs 2005 is used by alot of people. it’s commercial, but if you look carefully for the word IDE on (http://muonics.net/blog/) you might be able to find it *cough*. One of the coolest feature it has is that you can drag and drop libs / includes etc and it does all the linking / include paths relatively and automatic. it’s a feature that I sorely miss in other IDEs where I have to manually edit paths…

MS seems to do alot that makes things incompatible between compiliers, which is weird – the rtAudio stuff for example is a big headache, so I’m kind of grumpy with them recently, but it’s definitely the compiler with the biggest feature set and there is alot it can do really, really well.

2008 looks promising, especially that it shipped with the SDK (that was a big pain w/ 2005), but I will be able to speak more about it next week.

hope that helps!

best,
zach

hope that helps

Hey Zach,

Yeah, after 4+ hours trying to get VS 2005 to compile the examples (and never succeeding), I found Dev C++ and had that up and running in 20 minutes. I too love its simplicity, so I’ll stick with it for now.

Maybe I’ll give VS 2008 a try next week once you guys have released the next version with the rtAudio fix.

Thanks again for all your help! Take care.

Jonathan

cool - it would be useful if you post your errors with vs too - I’d like to know what is tripping people up.

FYI - there is info in:
http://openframeworks.cc/setup/visual-studio
you need to follow all the steps re: getting everything setup… if you are missing any of the sdks (or their paths input into the VS system), you will have some of issues

have fun with dev c++

take care
zach

Yeah, I was pretty careful to follow those instructions exactly. But perhaps I overlooked something.

The error I kept getting when trying to compile the textureExample was:

1>LINK : fatal error LNK1104: cannot open file ‘setupapi.lib’

Wasn’t sure how to go about resolving that.

But maybe these errors will go away with VS 2008…

Jonathan

this is with 0.04? I think you are missing one of the SDK steps, since that is a library that exists in the platform SDK :

SetupAPI.Lib

for me, for example, it’s here:

C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\
SetupAPI.Lib

can you check that you have setupapi.lib in your sdk folder, and that that folder of the sdk was added when you did all the steps in installing the sdk ?

thanks!
zach

I compiled rtAudio on visual studio 2008. all the examples compile fine after that. here is the newly compiled rtAudio if you need it.
http://www.megaupload.com/?d=A1JMNGXZ

I’m also getting linker errors.

I’m using the 0.5 fat release for VS with VS 2008. I installed the SDK because I didn’t know what I was doing. (Yes I’m now aware that wasn’t necessary) And I installed the DirectX SDK.

It’s telling me it can’t find glaux.lib when it gets to linking:

Error:

  
  
1>Generating Code...  
1>Compiling manifest to resources...  
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0  
1>Copyright (C) Microsoft Corporation.  All rights reserved.  
1>Linking...  
1>LINK : fatal error LNK1104: cannot open file 'GLaux.lib'  
1>Build log was saved at "file://c:\Documents and Settings\Aaron\My Documents\cpp\of_preRelease_v0.05_windows_VS_FAT\of_preRelease_v0.05_windows_VS_FAT\app\examples\graphicsExample2\obj\Debug\BuildLog.htm"  
1>graphicsExample - 1 error(s), 1 warning(s)  
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========  
  

I’ve been trying to find where I can get a glaux.lib file and where to stick it (which is odd considering CodeBlocks compiled just fine).

I’m certain I’ve followed the instructions to the letter. Can anyone tell me what I might be doing wrong?

Edit:

http://vcf-online.org/forums/index.php?-…-#entry8035

This guy seems to reckon that glaux.lib is no longer needed. This is beginning to vex me.

From the comment you linked to it looks like you need to remove the reference to the lib in the linker settings.

Go to Project->Properties

Make sure Configuration is set to “All Configurations”
Then in

Configuration Properties -> Linker -> Input -> Additional Dependencies

remove “GLaux.lib” from the list

Hope that works!
Theo

Solved one problem, but created another. Linking trouble again.

I’m getting rtAudio errors. I double checked that I’ve put in the paths to the Direct X SDK (eg: for the executables I’ve got C:\Program Files\Microsoft DirectX SDK (March 2008)\Utilities\Bin\x86)

Here’s the error I get this time:

  
  
1>Generating Code...  
1>Compiling manifest to resources...  
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0  
1>Copyright (C) Microsoft Corporation.  All rights reserved.  
1>Linking...  
1>rtAudioD.lib(RtAudio.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base@std@@QAE@XZ) referenced in function "public: __thiscall std::_Vector_val<int,class std::allocator<int> >::~_Vector_val<int,class std::allocator<int> >(void)" (??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ)  
1>rtAudioD.lib(RtAudio.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "protected: void __thiscall std::vector<int,class std::allocator<int> >::_Tidy(void)" (?_Tidy@?$vector@HV?$allocator@H@std@@@std@@IAEXXZ)  
1>rtAudioD.lib(RtAudio.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)" (__imp_??0_Container_base@std@@QAE@XZ) referenced in function "protected: __thiscall std::_Vector_val<int,class std::allocator<int> >::_Vector_val<int,class std::allocator<int> >(class std::allocator<int>)" (??0?$_Vector_val@HV?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z)  
1>bin\graphicsExample_debug.exe : fatal error LNK1120: 3 unresolved externals  
1>Build log was saved at "file://c:\Documents and Settings\Aaron\My Documents\cpp\of_preRelease_v0.05_windows_VS_FAT\of_preRelease_v0.05_windows_VS_FAT\app\examples\graphicsExample2\obj\Debug\BuildLog.htm"  
1>graphicsExample - 4 error(s), 1 warning(s)  
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========  
  

Not a good weekend for me. Can’t get VS OF to compile and I can’t get Ogre to run on anything. :cry:

sorry - we’ve been slow to pick up with 2008, since we don’t use VS on a day to day basis.

elsewhere on this forum, folks have posted rtAduio library compiled for 2008 – you can search for it and download it, and replace the 2005 one with that. You might need to rename it or change the link path.

I’m currently traveling but when I get back in the US I’ll take a look at what needs to be done for VS 2008

take care,
zach

ps - here is info:
http://forum.openframeworks.cc/t/vc+±2008-express-edition/315/0
http://forum.openframeworks.cc/t/a-of-program-can-be-standalone/249/0