Re: Compile from source
By: Yigael to Digital Man on Fri Apr 05 2024 02:11 pm
Is there a guide showing the easiest way to compile the Synchronet source files with a Windows app?
The required tools are listed here:
https://wiki.synchro.net/dev:tools#windows
Being new to Synchronet v3.20, and having only
dabbled in programming up until now, I'm sure this must seem like a dumb question.
What I've tried so far: cloned the GitHub mirror for SBBS, installed MS Visual Basic, spent hours trying to figure out how to compile without errors.
Visual Basic isn't used or involved in the building of Synchronet at all. Microsoft Visual C++ (which is a component of Visual Studio) is, however.
As I prefer to research answers before asking, I checked the Synchro
Wiki but only mentions the Windows files "built using Microsoft Visual Studio Express 2019 for Windows Desktop" (which doesn't appear on the web so it must have
been renamed). One of the Synchronet .bat files in the source says that building "requires Microsoft Visual C++ 2022".
The majority of Synchronet for Windows can be built today with either Visual C++ 2019 or 2022. Newer is better however.
So I installed the latest
VB, but even after adding nearly every module available module, I'm getting way
too many errors for me to believe this is the right path.
"VB" is a different language/tool-set.
So now I'm asking for help.
1. What are the easiest steps to compile Synchronet source files, without errors, and get a release that is ready for installation on a Windows PC?
Install Visual C++ 2022, open src/sbbs3/sbbs3.sln in it and then "build solution". This will build all the Synchronet DLLs and utility EXEs and the console-mode sbbs.exe, but not the GUI components: sbbsctrl.exe, useredit.exe, chat.exe. Those are built using Borland C++Builder 6 (still, yes I know, a very old/proprietary/commercial tool).
2. Can this task be accomplished using Git for Windows, or a compiler that isn't a disk-space-gobbling Microsoft product?
No. Visual C++ (a Microsoft product) is required, at minimum. To rebuild everything I release for Windows, you'll also need C++Builder 6.
3. If VB is the only way, then what are the minimum modules required, and what steps needed, for making a Synchronet "release version" properly.
All the required "modules" are in the Git repo. Since these tools and concepts seem so foreign to you, I'm curious *why* you want to build Synchronet for Windows from source? If you're new to Synchronet and new to programming, this doesn't sound like a great way path to success. Maybe start with a simpler project?
I see on the gitlab that there are nightly dev builds, so this must be an everyday task for developers. I just need some information that'll help get me situated in the correct direction. Thank you in advance.
The nightly dev builds are built automatically (not manually by a developer). That said, yes, I build Synchronet for Windows daily, manually, as well.
--
digital man (rob)
Sling Blade quote #11:
Doyle Hargraves (to Karl): What in the hell you doin' with that hammer?
Norco, CA WX: 55.2øF, 56.0% humidity, 3 mph SSW wind, 0.12 inches rain/24hrs ---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net