Programming Question What IDE do you use?

That's what I struggle a bit to understand.

Are there 'debug libraries' and 'release libraries' ? To me it seem we have only 2 files, orbiter.lib & orbitersdk.lib...

With the /permissive setting on it looks better, I think there's only the Runtime compatiblity thing in the way :

1>------ Build started: Project: ShuttlePB, Configuration: Release Win32 ------
1>cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release
1>ShuttlePB.cpp
1>Orbitersdk.lib(Orbitersdk.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in ShuttlePB.obj
1> Creating library ..\..\..\Modules\ShuttlePB.lib and object ..\..\..\Modules\ShuttlePB.exp
1>..\..\..\Modules\ShuttlePB.dll : fatal error LNK1319: 1 mismatches detected
1>Done building project "ShuttlePB.vcxproj" -- FAILED.

In 'Code Generation' I'm on 'Multithreaded' (/MT), from what I read on the forum and heard on the video it is the setting that ensure there will be no extra dependencies ?

1762876222309.png
 
Last edited:
Try using MD in Orbiter 2024, maybe the SDK libraries were compiled for using a dynamic linked runtime library.
 
OK, but using /MD I get this :

(I've added orbiter.lib & orbitersdk.lib from the Orbiter 2024 SDK folder to my solution, of course.)

Build started at 18:05...
1>------ Build started: Project: ShuttlePB, Configuration: Release Win32 ------
1>cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release
1>ShuttlePB.cpp
1> Creating library ..\..\..\Modules\ShuttlePB.lib and object ..\..\..\Modules\ShuttlePB.exp
1>ShuttlePB.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) referenced in function _ovcInit
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" (??3@YAXPAXI@Z) referenced in function "public: void * __thiscall ShuttlePB::`scalar deleting destructor'(unsigned int)" (??_GShuttlePB@@QAEPAXI@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __imp__modf referenced in function "private: static void __cdecl ShuttlePB::hlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?hlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function "public: virtual void __thiscall ShuttlePB::clbkSetClassCaps(void *)" (?clbkSetClassCaps@ShuttlePB@@UAEXPAX@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __libm_sse2_sin_precise referenced in function "private: static void __cdecl ShuttlePB::vlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?vlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol ___security_cookie referenced in function "public: virtual void __thiscall ShuttlePB::clbkSetClassCaps(void *)" (?clbkSetClassCaps@ShuttlePB@@UAEXPAX@Z)
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __fltused
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __tls_array
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __tls_index
1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
1>Orbitersdk.lib(Orbitersdk.cpp.obj) : error LNK2019: unresolved external symbol __imp__GetProcAddress@8 referenced in function _DllMain@12
1>..\..\..\Modules\ShuttlePB.dll : fatal error LNK1120: 12 unresolved externals
1>Done building project "ShuttlePB.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 18:05 and took 02,980 seconds ==========


1762880940634.png

1762880966899.png

And I found this, which is a bit similar, but still doesn't give me a clue. It was a long time ago.

 
Last edited:
Did you "clean" the build after you changed this?
 
No. You mean the 'Clean' in this menu ?

1762883274766.png
 
Ah OK, thanks, good to know. No joy though. :confused:

Build started at 18:54...
1>------ Build started: Project: ShuttlePB, Configuration: Release Win32 ------
1>cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release
1>ShuttlePB.cpp
1>H:\Visual Studio 2022 CE\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(1402,5): warning MSB8012: TargetPath(H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.dll) does not match the Linker's OutputFile property value (H:\Jeux\Orbiter 2024\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).
1> Creating library H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.lib and object H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.exp
1>ShuttlePB.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) referenced in function _ovcInit
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" (??3@YAXPAXI@Z) referenced in function "public: void * __thiscall ShuttlePB::`scalar deleting destructor'(unsigned int)" (??_GShuttlePB@@QAEPAXI@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __imp__modf referenced in function "private: static void __cdecl ShuttlePB::hlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?hlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function "public: virtual void __thiscall ShuttlePB::clbkSetClassCaps(void *)" (?clbkSetClassCaps@ShuttlePB@@UAEXPAX@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __libm_sse2_sin_precise referenced in function "private: static void __cdecl ShuttlePB::vlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?vlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol ___security_cookie referenced in function "public: virtual void __thiscall ShuttlePB::clbkSetClassCaps(void *)" (?clbkSetClassCaps@ShuttlePB@@UAEXPAX@Z)
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __fltused
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __tls_array
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __tls_index
1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
1>Orbitersdk.lib(Orbitersdk.cpp.obj) : error LNK2019: unresolved external symbol __imp__GetProcAddress@8 referenced in function _DllMain@12
1>H:\Jeux\Orbiter 2024\Modules\ShuttlePB.dll : fatal error LNK1120: 12 unresolved externals
1>Done building project "ShuttlePB.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 18:54 and took 01,895 seconds ==========
 
Last edited:
Then back to the settings.... is RTTI activated?
 
I tried this one too.

1762886119681.png

With RTTI on :

Rebuild started at 19:35...
1>------ Rebuild All started: Project: ShuttlePB, Configuration: Release Win32 ------
1>cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release
1>ShuttlePB.cpp
1>H:\Visual Studio 2022 CE\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(1402,5): warning MSB8012: TargetPath(H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.dll) does not match the Linker's OutputFile property value (H:\Jeux\Orbiter 2024\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).
1> Creating library H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.lib and object H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.exp
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) referenced in function _ovcInit
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" (??3@YAXPAXI@Z) referenced in function "public: void * __thiscall ShuttlePB::`scalar deleting destructor'(unsigned int)" (??_GShuttlePB@@QAEPAXI@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __Init_thread_header referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __Init_thread_footer referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol _sin referenced in function "private: static void __cdecl ShuttlePB::vlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?vlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __imp__modf referenced in function "private: static void __cdecl ShuttlePB::hlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?hlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function "void __cdecl `dynamic initializer for 'tdvtx''(void)" (??__Etdvtx@@YAXXZ)
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __Init_thread_epoch
1>ShuttlePB.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol ___security_cookie referenced in function "void __cdecl `dynamic initializer for 'tdvtx''(void)" (??__Etdvtx@@YAXXZ)
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __fltused
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __tls_array referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __tls_index referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
1>Orbitersdk.lib(Orbitersdk.cpp.obj) : error LNK2019: unresolved external symbol __imp__GetProcAddress@8 referenced in function _DllMain@12
1>H:\Jeux\Orbiter 2024\Modules\ShuttlePB.dll : fatal error LNK1120: 15 unresolved externals
1>Done building project "ShuttlePB.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
========== Rebuild completed at 19:35 and took 07,420 seconds ==========

With RTTI off :

Rebuild started at 19:36...
1>------ Rebuild All started: Project: ShuttlePB, Configuration: Release Win32 ------
1>cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release
1>ShuttlePB.cpp
1>H:\Visual Studio 2022 CE\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(1402,5): warning MSB8012: TargetPath(H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.dll) does not match the Linker's OutputFile property value (H:\Jeux\Orbiter 2024\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).
1> Creating library H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.lib and object H:\Jeux\Orbiter 2024\Orbitersdk\samples\ShuttlePB\ShuttlePB.exp
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) referenced in function _ovcInit
1>ShuttlePB.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" (??3@YAXPAXI@Z) referenced in function "public: void * __thiscall ShuttlePB::`scalar deleting destructor'(unsigned int)" (??_GShuttlePB@@QAEPAXI@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __Init_thread_header referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __Init_thread_footer referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol _sin referenced in function "private: static void __cdecl ShuttlePB::vlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?vlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __imp__modf referenced in function "private: static void __cdecl ShuttlePB::hlift(class VESSEL *,double,double,double,void *,double *,double *,double *)" (?hlift@ShuttlePB@@CAXPAVVESSEL@@NNNPAXPAN22@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function "void __cdecl `dynamic initializer for 'tdvtx''(void)" (??__Etdvtx@@YAXXZ)
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __Init_thread_epoch
1>ShuttlePB.obj : error LNK2019: unresolved external symbol ___security_cookie referenced in function "void __cdecl `dynamic initializer for 'tdvtx''(void)" (??__Etdvtx@@YAXXZ)
1>ShuttlePB.obj : error LNK2001: unresolved external symbol __fltused
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __tls_array referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>ShuttlePB.obj : error LNK2019: unresolved external symbol __tls_index referenced in function "double __cdecl LiftCoeff(double)" (?LiftCoeff@@YANN@Z)
1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
1>Orbitersdk.lib(Orbitersdk.cpp.obj) : error LNK2019: unresolved external symbol __imp__GetProcAddress@8 referenced in function _DllMain@12
1>H:\Jeux\Orbiter 2024\Modules\ShuttlePB.dll : fatal error LNK1120: 14 unresolved externals
1>Done building project "ShuttlePB.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
========== Rebuild completed at 19:36 and took 02,969 seconds ==========

A tiny bit better, 1 less unresolved externals.
 
Hmmm... some checking function calls are compiled into your functions, that aren't part of the source code or the runtimes...

Do you have ANY debug options active?
 
No, you must check the C++ options, I think its spread out into general, optimization and code generation.
 
Weird, this seems to be the same settings that I have.... but yours fail and mine don't. Created a new project from scratch, and I only get a few bugs when using the release libraries of Orbiter 2024 in debug builds.
 
OK, I'm trying to create a new project, step-by-step :

1762890687195.png
 

Attachments

  • 1762890669585.png
    1762890669585.png
    245.9 KB · Views: 1
OK so I managed to compile this (the old @ComputerRex test example). Yeehaw. 🥳

1762891960522.png

Now I 'cheated' by pointing the 'Additional libraries' to my Orbiter 2016 libraries folder, and by adding to the project the Orbiter 2016 orbiter.lib & orbitersdk.lib. And setting the /MT option (not /MD).

Now let's see if the module will work on Orbiter 2024...
 

Attachments

  • 1762891931241.png
    1762891931241.png
    119.8 KB · Views: 0
Last edited:
... and it works !

Look carefully at the bottom left of the screen (edit : improved the debug string a little bit). There's a working timer there. I attached the .dll module below, I'd be curious to know if it works on your end.

1762892725259.png

So what can we learn from this ? It looks like the Orbiter 2024 libraries have a problem, at least on my (Win10 x64) computer. :unsure:
 

Attachments

Last edited:
They only have it on your end.... mine works too, with the 2024 libraries and UACS.
 
Are you using the 2024-12-31 package ? Could the libraries have been modified since then ?
 
Are you using the 2024-12-31 package ? Could the libraries have been modified since then ?
Uh. No. I downloaded mine from github I think. Do I have the space for a third Orbiter installation?
 
Back
Top