The answer to your question does depend on what you need to do with the result. A BWAV file can have a start-timecode as part of its metadata: this is simply a count of the number of samples since midnight, and from it you can derive the correct timecode for any sample in the file, since the sample-rate is known and constant.
But that is not SMPTE LTC timecode, which is no more than a piece of audio in which the sound represents the timecode as it counts up . If you want to add that kind of timecode to an existing file, then you have to produce a copy with an extra audio-track where the code is laid-down, and ‘record’ the LTC audio to it. Producing a copy of the BWAV file with the extra track can be done using JUCE functions, but not generating the LTC audio.
There are libraries to do this (e.g. libtc), but before going down that path it would be worth being clearer about what the resultant file will be used for, because it might be possible to use the BWAV metadata instead - which is much less trouble. Is it for synch? Also, what values should go in the LTC, and where do they come from. If they start at zero, there’s no added information: so are they to be based on existing metadata start-codes? Or are they going to be set by hand?