Agggghhhh!!!! Just venting about libraries.

cyclone3d

[H]F Junkie
Joined
Aug 16, 2004
Messages
16,306
So I am working on getting one of my old programs to compile with VS 2022.

And of course a couple of the libraries I used are super outdated and even the newer versions have not been updated in years thus the VC project files had to be upgraded.

To top it off, I need to set the correct paths in the project files so I can actually compile them.

Arggggghhhh.

The libraries in question are:
Stlsoft
Fastformat

Done for tonight. I will pick it up tomorrow sometime.
 
It can be nice to upgrade things up to date but depending on what you want to do, it is not because you use VS2022 that you need to update, you can compile C+11 project and what not still
 
You can use VS2022 to update your project no problem. You can still target an older runtime that is compatible with the precompiled 3rd party libraries in question. Might have to spend some time figuring out which runtime/SDK you need.

A quick google shows both STLSoft and FastFormat are open sourced via synesissoftware github repo. Nice.

... but the repo owners haven't updated in 2 years or so. Ok, so not perfect but you can still work with that maybe?

Accepting that noone out there has built either of these libraries targeting the latest MSVC (and sharing it public), then nothing is stopping you from building them yourself. It's just noone is going to be holding your hand for this one.

A quick glance at the repo and it's not too bad. This isn't overwhelmingly big like building Google Chrome. The authors clearly had a MSVC target in mind, so you probably won't have to add any additional Win32 porting code. They don't give you a .vcxproject to work with (just a makefile) so you're on your own with that. If it were me, I'd skip the makefile and make my own MSVC project.

Overall this doesn't look terrible. Once upon a time I took Apple's Bonjour source code and ported it to a Win32 static library. Apple hasn't updated that thing since 2005, but after a couple of days I got it up an running. I'd say both these libraries would take less than a day to get something usable.
 
I think stlsoft is pure header and does not require to be built.

I would try to build fastformat using their pre made make command to see if it work before trying to make a vcproj for it.

Download:
https://github.com/synesissoftware/STLSoft-1.10/releases/tag/1.10.1-beta33
git clone fastformat in a folder of your choice.

In Visual studio 2022, in tools open a visual studio command prompt (if nmake is not setuped in your terminal)

do those 2 commands
set FASTFORMAT_ROOT=C:\myDir\FastFomat
set STLSOFT=c:\myDir\STL

go to FastFormat directory, build, vc16.x64 and type nmake after a couple of quick edit (vc16 is 2019 the latest version they supported) you should arrive to the list of errors trying to compile this code to the latest C++ version, or you can use an older version of Visual studio to build it.

But like said above you can still use your old library even in the VS 2022.
You can pick the version of c++ and platform toolset you want in a project (if your are using cmake or vs studio project), for vs studio project you can right click on them and in general you should see platform tool set and C++ language standard, if the version you built your lib in the past are missing, you can go look in the VS installer extra modules for them.
 
Back
Top