Bcc fails to compile C file with ANSI-style function prototypes even with the -ansi flag, just printing an "Unable to execute unproto.exe" error.
With old-style K&R prototypes instead of ANSI prototypes (and without the -ansi flag) it works well though.
The Debian package for bcc includes /usr/lib/bcc/unproto. I guess the corresponding unproto.exe for dos is needed for the FreeDOS package as well.
You didn't specify which version you're trying to use. Anyways, BCC/Dev86 is not well-supported at all anymore (AFAIK), certainly not by FreeDOS.
Somebody (Mateusz?) must've made a "package" for this, and I don't remember if he explained his reasoning. Probably he preferred the "old" (16-bit hosted) version.
Here's the one that I can find publicly, which is what I assume you're using:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/bcc.html
I did lightly dabble with this a few years ago. I built my own unproto.com (with itself). The compiler isn't horribly broken: it mostly works, but it's still fairly weak. There are several much better C compilers for DOS that also support more memory models (beyond Tiny and Small).
https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/c/bcc/old/16bit/unproto.zip
0.16.2 was the 16-bit DOS-hosted version (aka, old). I did recompile a newer version (0.16.17?) with DJGPP (32-bit), and one other guy (Khusraw) recompiled it in a slightly better way.
So you can try a newer (386+) compile, but don't get your hopes up too high.
https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/c/bcc/
Yes, it was the version included on the FreeDOS 1.2 cd. Can't believe I forgot to mention what version I was referring to.
I used bcc a couple of years ago because it was a simple way to cross-compile from Linux and OSX to 16-bit DOS and run in Dosbox to play with. And now that I have installed FreeDOS on real hardware I thought it would be fun to compile the same code there.
It seems to me like unproto is a pretty important part of bcc, so if bcc is packaged and included with FreeDOS at all then unproto.exe should be in the package. I rather like the idea of a very small and free 16-bit C-compiler that runs on many platforms including DOS itself, so I hope it stays around and that the package is fixed.
Thanks for the links!
The FD package has been updated.
However, Dev86 is not well-supported anymore. Even de Bath just points to lkundrak's Github for newer releases (0.16.21 from 2014). I seriously doubt it properly supports 16-bit DOS host anymore. The updated FD package is still using de Bath's old 2002 (0.16.10) 16-bit compile. Even he didn't compile unproto, so I had to do it manually, hoping that it works better than nothing. There is no copt available.
If you just want to cross-compile (although I recommend against DOSBox, which is only for games), there are several solutions: andrewwutw's build-djgpp, alexfru's SmallerC, or even OpenWatcom (which has had a Linux hosted version for many years).
All of these alternatives are better than Dev86. And there are still others of varying quality too. Not everything will be made a FD package, and just having a package doesn't imply quality or active maintenance.