Discussion Successfully Compiled using VC++2010 Express

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,204
Reaction score
60
Points
88
Location
KDCY
Thought I would share, I just completed setting up VC++ 2010 Express roughly following the old orbiterwiki tutorial for 2005. I used the "Microsoft SDK for Windows 7 and .NET Framework 3.5" and have been able to successfully compile the ShuttlePB.dll with no errors, 1 warning:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Orbiter2010\Orbitersdk\samples\ShuttlePB\Release\ShuttlePB.dll) does not match the Linker's OutputFile property value (C:\Orbiter2010\Modules\ShuttlePB.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

After Googling, found the following in the documentation from VS2010 Beta Testing:
2.4.1.9 Mismatched TargetPath and Linker.OutputFile can generate MSBuild warning message MSB8012: TargetPath does not match the Linker's OutputFile property value

In Visual Studio 2010, when TargetPath and %(Linker.OutputFile) do not match, a message that resembles the following may be generated:
warning MSB8012: TargetPath(sample\Debug\sample.dll) does not match the Linker's OutputFile property value (sample\Debug\sample.ocx). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
This change is by design. We recommend that you modify your project files so that $(TargetName) matches %(Linker.OutputFile). The following are the two possible errors you might get because of this change:
(1) If %(Link.OutputFile) does not match $(OutDir)$(TargetName)$(TargetExt), you may get build error from MT (mt.exe : general error c10100b1: Failed to load file "xxx". The system cannot find the file specified) when building application targeting release configuration and any configuration when "Linker.Enable Incremental Linking" is disabled.
(2) If %(Link.OutputFile) does not match $(OutDir)$(TargetName)$(TargetExt), you may get an error that specifies that the component cannot be found when components are registered.
To resolve this issue:
In the case that TargetExt does not match the file name extension of %(Linker.OutputFile), you can change the TargeExt, TargetPath, OutDir property on the property page to match that of %(Linker.OutputFile) or (Lib.OutputFile), depending on the type of the project.


One thing regarding setup of the compiler though, I did see someone mention in another thread that the Platform SDK's are no longer needed as of VC++ 2008 Express. Is this truly the case?

**EDIT** I should specify that I compiled this project from the Orbiter2010 SDK and against its libraries. Any work I end up doing for 2006 will be done on my older laptop, if at all.

---------- Post added at 11:16 PM ---------- Previous post was at 10:38 PM ----------

Just watched Computerex's video for VC++2008 Express. Going to follow that format for a VC++ 2010 Express project for Orbiter 2010.

And I'm now realizing this would have made a better blog post rather than a thread...

I need sleep... :coffee:
 
Last edited:
One thing regarding setup of the compiler though, I did see someone mention in another thread that the Platform SDK's are no longer needed as of VC++ 2008 Express. Is this truly the case?
Yes: http://blogs.msdn.com/b/windowssdk/...008-with-embedded-windows-sdk-components.aspx

And I'm now realizing this would have made a better blog post rather than a thread...
No worries, keep the updates coming :tiphat:. I'm still running VS2005 Pro and am contemplating the jump to VC++ 2010 Express myself.
 
No worries, keep the updates coming :tiphat:. I'm still running VS2005 Pro and am contemplating the jump to VC++ 2010 Express myself.

I would jump to 2008. 2010 has had a massive interface change, and for some reason isn't as smooth as 2008. My personal experience, may have been because it was a beta (pretty late beta though). I'll have to retry it :D
 
I would jump to 2008. 2010 has had a massive interface change, and for some reason isn't as smooth as 2008. My personal experience, may have been because it was a beta (pretty late beta though). I'll have to retry it :D

I'm kind of used to the interface, as I've been evaluating at work as the version they are possibly going to purchase for me for maintaining our external website, so not a big change for me. We actually just upgraded the site to 2008 in April, and they were going to purchase that one for me until 2010 was released recently and our other business segments indicated they would be moving to 2010 as well.

The only problem I've run into with the latest version is at some point the upgrade broke our salesrep portal (local copy on my pc, not the production one). Of course, it was a prototype that my boss put together last year from piecemeal code snippets he found on the web, so no loss. I am planning on re-doing the portal from the ground up to give myself a chance to get my feet wet with .NET security, etc. since I have VERY little experience with .NET. My education was all based around VS 6 even though I took my classes in 2003-2006, and real life has prevented me from getting up to speed with .NET until now.

My Visual C++ class was all but worthless, even though I got an A in the class, I basically learned zip. The material was bad, and the instructor had never taught this particular subject matter but had background in other IT fields. So I'm basically re-learning C++ as I go, which I think is easier and more rewarding than what I got from the classroom setting. It also helps having something practical to use it for, especially something for which I have a passion.

Oh, and btw, computerex, I watched the YouTube video you created for setting up the 2008 compiler. VERY helpful. I followed it exactly in 2010 Express and it worked perfectly. I also see that I didn't need the platform SDK. I had already downloaded the Win7/.NET 3.5 one, so I'll probably keep it installed anyway. Who knows, might come in handy for something else.

Anyway, sorry so long-winded. Thanks for the advice and the encouragement.

Regards,
n122vu
 
Back
Top