Turbofloat + Turboactivate Static Linking Access ViolationSolved

Hello,I'm trying to use turboactivate and turbofloat together in the same windows project, but I'm getting access violation errors. The access violation happens either when calling the TF_RequestLease or the TA_IsGenuineEx function (depending on which library is linked first). Using version 4.0.9.6, Visual Studio 2015 and the MD(d) versions of the library. Additionally, Turboactivate and Turbofloat are both used inside a .dll library (none of the Turboactivate functions are exposed directly in the dll interface).I've seen other similar topics, but I don't know if this is a known issue or a new one. I can use the dynamic version of the Turbofloat library for now, but It would be better if I could link both statically.Thanks!

Hey Bob,

Using TA / TF both as static libraries inside the same binary is not supported in TA / TF 4.0.x and older.

In the upcoming 4.1 release of TA, TF, TFS, etc. we're adding support for statically linking both libraries together in the same binary *if and only if* the version numbers of TA and TF both match exactly. Meaning, you won't be able to mix-and-match versions.

In the meantime, use the dynamic versions of TA, TF.

Thank you for the quick reply!

For the moment we opted to make two different versions using static linking. Looking forward to the new version 😉

Solved in TA / TF 4.1.3. On Windows you can use both static libraries in the same process and it will just work. On Unix / BSD you'll have to use the supplied "combined" static libraries (because linking with g++ / clang is wonky)

Hi Wyatt,

I am using both static libs of TA+TF with Visual Studio 2015, and I cannot link the binary together - there are reported "Error LNK2005 Already defined in".

The both static libraries are for Visual Studio 2015, the latest 4.1.9.0, downloaded yesterday.

What is proper linking order for these libraries? I have tried both (First TA then TF, or vice versa), but both have the same problem.

Hi,

I have the same problem with 4.1.9.0 with Visual Studio 2017 and 2019.It's working with 4.1.3.3...

the problem still persists with the version 4.2.0.0...

https://pastebin.com/aAbb4W0u

I don't want to use the DLL version.

This is an issue that we've neglected for Windows because we *always* recommend you use the dynamic libraries (much easier to mess up builds when using static libraries).

That being said, this is a different issue than what is raised in the original post (that is / was solved). We will also make TA / TF static libraries build-able on Windows in the same binary work again in the future. Not a priority. No hard date. Use the dynamic libraries in the meantime.

Using the static version allows to hide call to LimeLM fucntions.TurboActivate.dll can be replaced by a hacked version...What do you recommand to avoid it?

Verify the hash of the library before you use any of the functions. Search the forum, this has been recommended at least a dozen times over the years.

Hi Wyatt,this thing of using a shasum of TA.dll should have a good place on your website...Actually one should search on the forum to find it and it's not very convenient.

++Nicolas

It's not necessary and doesn't prevent cracking. Nothing can. Hence, it being buried in the forum. It's an ultimately pointless technique. But if it puts your mind at ease, then fine, do it.

More information on the crack-ability of all software: https://wyday.com/limelm/features/why/#snake-oil