General Question Atlantis recompile

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
So I want to try to compile the Atlantis.cpp's,..... The reason why is if I can switch the mesh out then I can have another shuttle for 2016.

Just edit the Atlantis shuttle mesh and change the name.

SO I copied the Atlantis folder and set the directories. But it can not open 2 files. I ran meshres for both the mesh and vc. They are add but it is not seeing them

ttn3OQV.jpg


errors:
42 IntelliSense: class "AscentAPDlg" has no member "Open" c:\Orbiter2016\Orbitersdk\samples\spaceshuttle\Atlantis\Atlantis.cpp 688 16 Atlantis
4 IntelliSense: cannot open source file "meshres_vc.h" c:\Orbiter2016\Orbitersdk\samples\spaceshuttle\Atlantis\Atlantis.cpp 21 1 Atlantis
3 IntelliSense: cannot open source file "meshres.h" c:\Orbiter2016\Orbitersdk\samples\spaceshuttle\Atlantis\Atlantis.cpp 20 1 Atlantis
2 IntelliSense: cannot open source file "Common\Dialog\TabDlg.h" c:\Orbiter2016\Orbitersdk\samples\spaceshuttle\Atlantis\AscentAP.h 16 1 Atlantis
Error 1 error MSB6006: "cmd.exe" exited with code 255. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 170 5 Atlantis
 
Last edited:

turtle91

Active member
Joined
Nov 1, 2010
Messages
319
Reaction score
7
Points
33
As far as I remember, this two missing files will be generated during the compiler-run.
I have had similar issues long ime ago the the stock Atlantis.
The problem is, I cannot remember how I solved the problem:blush:
I need to go for nightshift now, but i you provide me a goole-drive or file-server in general...I could upload my working SLN-folder (10 MB zipped).

I have just changed the RMS, in my SLN the RMS has a "kind of" kinematic steering and reacts much faster...maybe too fast...but easy to change.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
Thanks. I messaged you.

Well i made those files but not sure why they are not being seen?

If this works then more shuttles for 2016

---------- Post added 01-23-18 at 07:10 AM ---------- Previous post was 01-22-18 at 09:23 AM ----------

So I tried a different approach. I copied a working solution over and then added the Atlantis stuff in. But not get a new error about not being able to see something in the common folder?

Once I get this to work. My goal is to have each shuttle in 2016. Mainly just changing the name in the mesh.

I might add new eva guys?
 

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,448
Reaction score
462
Points
83
Website
orbit.medphys.ucl.ac.uk
As far as I remember, this two missing files will be generated during the compiler-run.

That is correct. To clarify: these files contain the mapping between mesh groups (identified by their labels) and numerical identifiers which allow to address them from the C++ code. The files are generated by meshc.exe which scans the mesh file and emits the corresponding identifiers. The call to meshc is part of the build process (a custom build step). This setup means that you can modify the mesh file (add and remove mesh groups) without having to remember to change all mesh group references in your code.

meshc.exe is looked for in $(SDKDir)\utils\meshc.exe, where $(SDKDir) is defined in Orbitersdk\resources\Orbiter.vsprops. If you move the Atlantis project directory, you must make sure that meshc.exe is still found.

Similar with the missing files in the Common directory: They are expected in ..\Common, so if you move the Atlantis project directory, you also need to move the Common directory with it, or modify the project file to still find it.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
Thanks. So I if I copy the whole Atlantis project folder and rename it Shuttle2016, for example.

Then go in and set the directories, right. To like c:\orbiter2016\orbitersdk\lib,.....

Change the linker to something so it will not override the Atlantis.dll.

And try to build it?
 

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,448
Reaction score
462
Points
83
Website
orbit.medphys.ucl.ac.uk
Thanks. So I if I copy the whole Atlantis project folder and rename it Shuttle2016, for example.
If you copy it to the default Orbitersdk\samples directory, then the entire path setup should remain intact, so this shouldn't require any changes to the build system. In that case I don't understand why you get the errors you were reporting. Do you get the same errors if you compile the Atlantis project directly, in its original directory?

Then go in and set the directories, right. To like c:\orbiter2016\orbitersdk\lib,.....
I don't understand this one. No changes should be required for the sdk lib and include directories.

Change the linker to something so it will not override the Atlantis.dll.
By default, vessel modules are compiled to $(ModuleDir)\$(ProjectName).dll, so the cleanest way would be to change the project name of your Atlantis-derived project, e.g. to Shuttle2016.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
Thanks. I will try it when I get home.

Wait so I should be able to open the Atlantis solution form c:\orbiter2016\OrbiterSDk\samples and it should build?



If you copy it to the default Orbitersdk\samples directory, then the entire path setup should remain intact, so this shouldn't require any changes to the build system. In that case I don't understand why you get the errors you were reporting. Do you get the same errors if you compile the Atlantis project directly, in its original directory?


I don't understand this one. No changes should be required for the sdk lib and include directories.


By default, vessel modules are compiled to $(ModuleDir)\$(ProjectName).dll, so the cleanest way would be to change the project name of your Atlantis-derived project, e.g. to Shuttle2016.
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
Thanks. No I didn't see it. But When I get it to compile I can make that change.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
A note from my experience:
meshc.exe is very sensitive about the parameters!
I see that your file paths contains spaces, that confuses meshc.exe when those paths are not properly quoted (e.g. "a path/with spaces").
Most project files build the call to meshc.exe without taking that into account.

I would therefore first recommend to try building Atlantis from a path with no spaces at all, that is usually the simplest approach.

@martin: It might be good if meshc.exe could be changed, so that the inputs are not needed to be "piped" into stdin but given as explicit parameters like
meshc.exe -input="<src_path>" -var_suffix="-" -output="meshres.h"
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,615
Reaction score
2,335
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
meshc.exe -input="<src_path>" -var_suffix="-" -output="meshres.h"

That was one of the reasons why I wrote ssumeshc some years ago.

Code:
D:\orbiter-ssu-dev\Orbitersdk\Space Shuttle Ultra\Release>ssumeshc
ERROR: No input file specified.
SSU Mesh labels to C++ converter. Version 0.3.
Syntax: ssumeshc [OPTIONS] FILE

OPTIONS:
   -o FILE     Set output file
   -p PREFIX   Set group symbol prefix
   -s SUFFIX   Set group symbol suffix
   -m         Enable material list output
   -b PREFIX   Set material symbol prefix
   -n SUFFIX   Set material symbol suffix
   -t         Enable texture list output
   -e PREFIX   Set texture symbol prefix
   -r SUFFIX   Set texture symbol suffix
   -? -h       Display this help
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
So I tried to build the Atlantis from the Original Atlantis.

cEptQcO.jpg


I get this:
Error 5 error MSB6006: "cmd.exe" exited with code 255. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 170 5 Atlantis
Error 1 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantis\AtlantisConfig\AtlantisConfig.cpp 3 1 AtlantisConfig
Error 2 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantis\Atlantis\Atlantis.h 15 1 Atlantis_SRB
Error 3 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantis\Atlantis\Atlantis.h 15 1 Atlantis_SRB
Error 4 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantis\Atlantis\Atlantis.h 15 1 Atlantis_Tank

DwcLMpP.jpg
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
I tired turtles' sln. Same results
Warning 5 warning MSB8028: The intermediate directory (C:\Orbiter2016\Orbitersdk\samples\Atlantisnew\Atlantis\Release\) contains files shared from another project (AtlantisConfig.vcxproj). This can lead to incorrect clean and rebuild behavior. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 381 5 Atlantis
Error 6 error MSB6006: "cmd.exe" exited with code 255. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 170 5 Atlantis
Error 1 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantisnew\Atlantis\Atlantis.h 15 1 Atlantis_SRB
Error 2 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantisnew\AtlantisConfig\AtlantisConfig.cpp 3 1 AtlantisConfig
Error 3 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantisnew\Atlantis\Atlantis.h 15 1 Atlantis_SRB
Error 4 error C1083: Cannot open include file: 'orbitersdk.h': No such file or directory C:\Orbiter2016\Orbitersdk\samples\Atlantisnew\Atlantis\Atlantis.h 15 1 Atlantis_Tank
I added the orbitersdk.h into the solution
 

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,448
Reaction score
462
Points
83
Website
orbit.medphys.ucl.ac.uk
I don't get it. Are you able to compile any of the sample projects? I thought you did loads of addon projects in the past. What is different with Atlantis?

Just to confirm: you did set the correct orbiter root path in orbiterroot.vsprops? Did you check that all directory macros are pointing to the correct locations? Since the compiler doesn't even find orbitersdk.h, it looks like your $(SDKIncludeDir) is wrong, which in turn depends on a chain of other macros, at the root of which is OrbiterDir.

The cmd-related error means that a custom build step is going wrong. Probably meshc.exe isn't found, but could also be something else. Again, check that all macros used in the custom build step are pointing to the correct location.
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,926
Reaction score
794
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
Just a note on this - I cracked open VS 2017, since I get it from work, and it's not able to parse the .vsprops files; they, like everything else in VS-land, have been superceded by a newer format. I'm not sure when that was introduced, but if the variables within them are not populated from those files, and you haven't set them in VS yourself, you'll find all kinds of issues since Visual Studio is unconvinced about what you're trying to do.

Solution import and migration should be painless, but I had to manually configure the project in my VS to get it to link with Orbiter.lib and to find the SDK header. I suspect I could have made a newer-format .props file to help.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,615
Reaction score
2,335
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Did you check if the paths are correct?
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
Thanks. Yes I have. I have had to set the links. When i get back I will check correct orbiter root path in orbiterroot.vsprops.

Not sure what it should be?
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,926
Reaction score
794
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
Thanks. Yes I have. I have had to set the links. When i get back I will check correct orbiter root path in orbiterroot.vsprops.

Not sure what it should be?

Wherever you have installed Orbiter to. See also my note above about VS interpreting the old format files - it looks like you have VS 2015.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
So this is what I have:
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="orbiterroot"
>
<UserMacro
Name="OrbiterDir"
Value="c:\Orbiter2016\orbiter"
PerformEnvironmentSet="true"
/>
</VisualStudioPropertySheet>

Same errors:


oN THE ONES THAT WORK i HAVE IT SET TO THIS:
C:\ORBITER2016\Orbitersdk\include;%(AdditionalIncludeDirectories)

So what should I manually set them to.
I have vs2013
 
Last edited:

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,926
Reaction score
794
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
So this is what I have:
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="orbiterroot"
>
<UserMacro
Name="OrbiterDir"
Value="c:\Orbiter2016\orbiter"
PerformEnvironmentSet="true"
/>
</VisualStudioPropertySheet>

Same errors:


oN THE ONES THAT WORK i HAVE IT SET TO THIS:
C:\ORBITER2016\Orbitersdk\include;%(AdditionalIncludeDirectories)

So what should I manually set them to.
I have vs2013

The answer to your question is the same as the answer to "Where did you unzip Orbiter to?" - the "Orbiter Root" parameter should be given the same path (to the folder with Orbiter.exe in it). The property sheet takes care of the rest.
 
Top