Dear Byron,
Thank you, that error message helps a lot: "Unable to open file 'b32.bc'" comes from the linker (ILINK32), which means the make finished its steps but the b32.bc file was not there when the linker asked for it.
There are two kinds of .mak files, and the fix is different for each:
A) The .mak generates b32.bc on the fly (this is the style of the FWH samples, for example samples\account\account.mak). The rule that builds the exe writes the file line by line and then calls the linker with it:
Code: Select all | Expand
account.exe : $(PRG:.PRG=.OBJ) account.res
echo off
echo $(BCDIR)\lib\c0w32.obj + > b32.bc
echo obj\ejemcont.obj obj\contabil.obj obj\mntotel.obj, + >> b32.bc
...
$(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
del b32.bc
Note the file is even DELETED at the end, so it is normal not to see b32.bc after a successful build. If your .mak is this style and the linker cannot open the file, the echo redirection is failing silently. The usual causes, in order of probability:
The folder is not writable by old 32 bit tools. If the project is under "Program Files", "Documents" or "Desktop" protected by OneDrive, or Windows Defender "Controlled folder access" (ransomware protection) is on, MAKE.EXE cannot create the file and does not tell you. This is the most common reason for "it worked before and now it does not". Quick test: open a console in your project folder and run echo test > test.txt. If that fails or the file does not appear, it is a permissions/protection issue. Check Windows Security -> Virus & threat protection -> Ransomware protection -> Controlled folder access, and either disable it for that folder or move the project to a simple folder like C:\PRG.
The make stopped before the exe rule (an earlier compile error) and only the linker message survived. Look at the full make output for an earlier error.
B) The .mak uses a FIXED b32.bc that sits next to it (it does NOT contain the echo lines above; it just runs ilink32 @b32.bc). In that case the file is a template that you must keep, and deleting it breaks every program that uses it. The fix is simple: restore your backup copy of b32.bc next to the .mak. You said you kept copies, so if your .mak is this style, put the file back and the build should work again.
To tell you exactly which case you have and what to restore, please post:
The content of your .mak file (or at least the part around ilink32).
Your FWH version.
Whether you erased .bc files only in your program folders or also something in the FWH or Borland folders.
Best regards,
FiveTech AI