API Question Developing for Orbiter 2024?

Mr Martian

Orbinaut/Addon dev/Donator
Addon Developer
Donator
Joined
Jun 6, 2012
Messages
382
Reaction score
254
Points
78
Location
Sydney, Australia, Earth, Sol
Website
www.orbithangar.com
Hi all,

I've got some projects underway that I was developing for Orbiter 2016, which I now want to target for Orbiter 2024. I've run into a problem however when trying to link with Orbiter's default DlgCtrl.lib, Orbiter.lib and Orbitersdk.lib. I get two linking errors (LNK2038) for both DlgCtrl.lib and Orbitersdk.lib:
Code:
mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug'
Obviously I want to develop in debug mode not release mode, is there any way around this without having to build Orbiter?
The project settings I have are those I made here (v143 toolset): Visual Studio 2022 Orbiter Project Templates

Thanks all! Any help is much appreciated.
 
Something I mentioned long, long ago, and several times since... 🤷‍♂️

Ideally the Orbiter distribution would have the release libs (Orbiter.lib, etc), and also a set of debug libs (e.g., OrbiterD.lib, etc). The devs would then set their project builds to use the appropriate set of libs.
The current solution is not as "plug-and-play" as that... https://github.com/orbitersim/orbiter/pull/535

For now I guess you'll have to live with compiling only in release mode, or building your own debug Orbiter libs.
 
Something I mentioned long, long ago, and several times since... 🤷‍♂️

Ideally the Orbiter distribution would have the release libs (Orbiter.lib, etc), and also a set of debug libs (e.g., OrbiterD.lib, etc). The devs would then set their project builds to use the appropriate set of libs.
The current solution is not as "plug-and-play" as that... https://github.com/orbitersim/orbiter/pull/535

For now I guess you'll have to live with compiling only in release mode, or building your own debug Orbiter libs.
Thanks GLS,
I did see your post about it here, I just figured there was a solution since then I was missing…
I can build my own debug libs; if that means I only have to build them the once to be able to develop in debug mode for all my Orbiter 2024 projects, it’s not too bad. Never used CMake or played with building orbiter though, anywhere you know of that has a tutorial/guide for this?

Thanks for your reply, and for your effort in advocating for this
 
  • Like
Reactions: GLS
Are the debug libs enough or will it crap up too when Orbiter loads them?
 
Well I think I've managed to build debug versions, build Orbiter and got it running, still getting my head around CMake... but now I have unresolved external symbol errors for every single sdk function reference... Any ideas what that might be?
 
I tried to compile Orbiter 2024 but got many compilation errors. It complained that they can't find .h files. It looks like include path is not defined properly through cmake generation. Also they can't find MFC libraries through cmake generation. I uninstalled and re-installed Visual Studio 2024 but I still got the same results.

In Visual Studio 2024 IDE, I tried to click 'build all' under Insight Build submenu but it takes forever but did not execute makefile.
 
I tried to compile Orbiter 2024 but got many compilation errors. It complained that they can't find .h files. It looks like include path is not defined properly through cmake generation. Also they can't find MFC libraries through cmake generation. I uninstalled and re-installed Visual Studio 2024 but I still got the same results.

In Visual Studio 2024 IDE, I tried to click 'build all' under Insight Build submenu but it takes forever but did not execute makefile.
Yeah I got numerous errors too. most libraries failed to build, and then so did subsequent dependencies. Only celestial body dlls built properly. I was able to eventually get some success via 'install' instead of build, but no luck building, and definitely no luck compiling debug libs. Also had the same issue via Insight Build. Hopefully the dev team are able to get some debug versions of the SDK libs out to the community eventually, I've given up for now and put my projetcs on hold until then.
 
Yeah I got numerous errors too. most libraries failed to build, and then so did subsequent dependencies. Only celestial body dlls built properly. I was able to eventually get some success via 'install' instead of build, but no luck building, and definitely no luck compiling debug libs. Also had the same issue via Insight Build. Hopefully the dev team are able to get some debug versions of the SDK libs out to the community eventually, I've given up for now and put my projetcs on hold until then.
We are working on this here: https://github.com/orbitersim/orbiter/pull/535 - progress has not been what I'd consider rapid but it is at least something that effort is being made towards resolving.
 
I'm not sure where you got that link from, but by the following two links you can find the release version:


 
Thank you for the link to the Orbiter 2024 download, Misha!

Just for information: The download-link i was referring to was from the Orbiter GitHub Page:

You find the dead link there under Orbiter 2024 "Latest"...


It seems to be a debug version though.
The former release version has disappeared from github.

Best regards
Rick
 
Thank you for the link to the Orbiter 2024 download, Misha!

Just for information: The download-link i was referring to was from the Orbiter GitHub Page:

You find the dead link there under Orbiter 2024 "Latest"...


It seems to be a debug version though.
The former release version has disappeared from github.

Best regards
Rick
Oh that's my fault, some of the efforts I've been doing to try to get the debug libs to build correctly have modified the release page. The original release is still there, naturally, just the entries on the github page are a bit out of whack since the debug workflow has (incorrectly) changed the URL. I've just set it back to the correct one on there too, to avoid confusing anyone else.
 
Thanks Xyon!
I see that the download link on GitHub is now perfectly working again and set back to the release file: "Orbiter-2024.zip".
Super!!!
Best regards
Rick
 
Hi everyone,

It's been quite a while since I've been on this forum, life got in the way and I haven't had the time. I did have a couple of very large projects that I was around half way through developing, and I'd love to be able to get back into it, but they fell by the wayside before as I couldn't develop for Orbiter 2024 for the lack of debug libs. Just wondering if there has been any development on this, or how people have been developing for Orbiter 2024? I can see on the repo here that there are 'Orbiter-x64-debug.zip' and 'Orbiter-x86-debug.zip'. Are these builds with debug libs?

Just want to get an idea how the rest of the community has been developing for Orbiter 2024, and if it is possible to do this yet without needing to build Orbiter?

Thank you all in advance!
 
Just want to get an idea how the rest of the community has been developing for Orbiter 2024, and if it is possible to do this yet without needing to build Orbiter?

Thank you all in advance!
Orbiter 2024 has extensive Lua API support, so you can create MFD's, full vessels (IRC with most of the features as .dll vessels) without any compilation, mod nor Orbiter itself.

There's also Vessel Builder (which I'm sure you know already) that apparently is already compatible with O24, and you don't need to compile for that.
 
Orbiter 2024 has extensive Lua API support, so you can create MFD's, full vessels (IRC with most of the features as .dll vessels) without any compilation, mod nor Orbiter itself.

There's also Vessel Builder (which I'm sure you know already) that apparently is already compatible with O24, and you don't need to compile for that.
Thanks LinuxWannabe for the reply. Unfortunately neither of those are realistic options for the projects I had going on, I had developed multiple interacting libraries and APIs that could not be achieved with LUA or VesselBuilder...
 
Back
Top