General Question VS2013 set up

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
I am going to get VS2013.

I am going to get this:
Microsoft Visual Studio Professional 2013

So will I need any other files?
like these:
Microsoft Visual C++ Redistributable for Visual Studio 2013

Microsoft Visual Studio 2013 SDK

But is there a way so that when I create a new project the directory info is there already. I have been using Express2008. And I just copy the project over and change the names,.....

I also installed windows7 and partitioned my drive so now Orbiter was on C: on it is e: so all the directory info is wrong.
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
So will I need any other files?
If it's just for Orbiter modules, then it should already have all you need, unless you want to build graphics clients.

I also installed windows7 and partitioned my drive so now Orbiter was on C: on it is e: so all the directory info is wrong.
That's why I always tell people to use Orbiter property sheets. They would make your projects portable. If you however used the property sheets, updating directories is as simple as changing a single OrbiterDir macro in the orbiterroot property sheet to point to the new Orbiter location (it will change for all projects using it).

But is there a way so that when I create a new project the directory info is there already. I have been using Express2008. And I just copy the project over and change the names,.....
I don't understand. Do you want to create a new project of the same name at the same place as the old one, or import an existing VS2008 project/solution, or do something else? Importing a VS2008 solution/projects for Orbiter to VS2013 is as simple as opening it (at least if you used Orbiter property sheets). Creating a new project with Orbiter paths set is as simple as adding (converted to VS2013 version) property sheets to the project.
 

meson800

Addon Developer
Addon Developer
Donator
Joined
Aug 6, 2011
Messages
405
Reaction score
2
Points
18
That's why I always tell people to use Orbiter property sheets. They would make your projects portable. If you however used the property sheets, updating directories is as simple as changing a single OrbiterDir macro in the orbiterroot property sheet to point to the new Orbiter location (it will change for all projects using it).

:hesaid:

I've never been able to use the macros under the "Release" configuration, but they help immensely when working under the Debug config.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
Ok Thanks. How do I set up Property sheets. Can I go back with other projects?

---------- Post added 05-07-14 at 10:17 AM ---------- Previous post was 05-06-14 at 08:34 PM ----------

I got VS2013 installed. But how can I make a property sheet. That sounds like the thing to do. And I guess rerun it to build new solutions as needed
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
You don't need to make a property sheet. They are already available in "Orbitersdk\resources" subdirectory. You add them (the converted versions, which you get by first opening stock examples of a vessel and a plug-in and go through conversion process) in Property Manager. I don't have VS2013 to give you exact instructions, but if you don't have "Property Manager" tab next to where you have "Solution Explorer", the option to show the Property Manager should be in "View -> Other Windows -> Property Manager" menu.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
Yes I found that. Do I set it up so if E: drive has orbiter. E:\orbiter........
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
If your Orbiter for which you are developing is in "E:\orbiter", then yes, you set the OrbiterDir macro in orbiterroot property sheet to "E:\orbiter".
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
The property sheets were added in Orbiter 2010, and the info you linked is for Orbiter 2006, where they weren't yet available.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
oh. Is there a newer info on compiling then?
Sometimes it helps to read:
"Note: This tutorial refers to Orbiter 2006. The procedure has somewhat changed for Orbiter 2010. In particular, the 2010 SDK comes with several project property sheets which pre-define path and library settings. Including them in your project avoids the needs of most of the manual setup. "
 
Last edited:

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
By looking at the article, after creating a new project you don't add anything to "Additional Include Directories", "Output File", "Additional Library Directories", "Additional Dependencies", "Ignore Specific Library", but instead you only add "Orbiter vessel" or "Orbiter plugin" property sheet to both "Debug" and "Release" configurations, and additionally "Orbiter debug" to the "Debug" configuration, and change the "Configuration Type" from "Application (.exe)" to "Dynamic Library (.dll)" (if it was created from a generic project template).
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
Ok I think I have this set up but I get can't find orbitersdk.h

vs2013.1.jpg


orbiter on e: drive

---------- Post added at 09:24 PM ---------- Previous post was at 04:19 PM ----------

Ok I set the libraries.
But now I get these:
Error 1 error LNK1207: incompatible PDB format in 'E:\orbiter2010p1A\Modules\CAPTURE.pdb'; delete and rebuild E:\orbiter2010p1A\Orbitersdk\samples\CAPTURE\LINK CAPTURE

Got it to work. I deleted the original .dll and pdb
 
Last edited:

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,218
Reaction score
1,566
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
If you link with the static runtime libraries you won't need users to install the Visual Studio redistributables. That is set by going to Properties -> Configuration Properties -> C/C++ -> Code Generation and setting Runtime Library to "Multi-threaded Debug (/MTd)" for debug builds and "Multi-threaded (/MT)" for release builds. As long as you don't free (delete) a memory block allocated by Orbiter (which you shouldn't do anyway) it should work fine. [XR vessels use static linking.]
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
Ok. Another issue. I am trying to recompile some of my other older add ons. I copied the whole files into my newest orbiter/orbitersdk/samples folder.
make changes to reflect e: drive to c: drive.
but I get this error:
Warning 3 warning MSB8012: TargetPath(E:\orbiter2010p1A\Orbitersdk\samples\INVISOBASE\.\Release\INVISOBASE.dll) does not match the Linker's OutputFile property value (E:\orbiter2010p1A\Orbitersdk\samples\INVISOBASE\release\INVISOBASE1.0.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). C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 1186 5 INVISOBASE

---------- Post added 05-18-14 at 06:59 AM ---------- Previous post was 05-17-14 at 03:02 PM ----------

If you link with the static runtime libraries you won't need users to install the Visual Studio redistributables. That is set by going to Properties -> Configuration Properties -> C/C++ -> Code Generation and setting Runtime Library to "Multi-threaded Debug (/MTd)" for debug builds and "Multi-threaded (/MT)" for release builds. As long as you don't free (delete) a memory block allocated by Orbiter (which you shouldn't do anyway) it should work fine. [XR vessels use static linking.]

Like this:
setup1.jpg


these were the files missing:
MSVCP120.dll and MSVCR120.dll
 

paddy2

Addon Developer
Addon Developer
Joined
Jul 21, 2012
Messages
384
Reaction score
1
Points
18
Location
Kent, UK
I also have had a similar error to this. I think what it refers to is the program code has the save location coded into it, "there" and the visual studio says save it "here" i.e. a different directory.

So long as you know where to find the finished .dll there is no real problem. I don't save my .dll directly into orbiter/modules but do a cut and paste job so I always have a copy of the last working one.

Hope it helps, Paddy
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,736
Reaction score
2,707
Points
203
Location
Dallas, TX
I am still trying to make a clean solution.

another thing that is odd it I made an add-on using Ummu 3.0 and I get a CTd if I end and restart the scenario with focus on the Ummu.
 

Bibi Uncle

50% Orbinaut, 50% Developer
Addon Developer
Joined
Aug 12, 2010
Messages
192
Reaction score
0
Points
0
Location
Québec, QC
Like this:
setup1.jpg


these were the files missing:
MSVCP120.dll and MSVCR120.dll

Not like this. You want to have /MT not /MD in the Runtime Library. The missing MSVCP120.dll and MSVCP120.dll are probably caused by the fact you didn't install Microsoft Visual Studio Redistributables. Linking statically (with /MT) will remove this dependency.
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
I also have had a similar error to this. I think what it refers to is the program code has the save location coded into it, "there" and the visual studio says save it "here" i.e. a different directory.

Note that it isn't an error, but only a warning. It wasn't even a warning before VS2010, but outputting the final DLL into another than the linker output directory is somehow now a warning since VS2010, although they left an option for user to set different paths for them. And that's usually the case when you convert projects from VS2008, which have set different output paths.

It doesn't cause any errors neither in code nor in debugging. WARNING != ERROR, and some warnings you are aware of can be ignored. You can probably add "/ignore:8012" to the MSBuild command line to ignore it completely.
 
Top