Cryptlex Forums

Static linking both LexActivator and LexFloatClient

G
Gary Shrimpling

This post says it cannot be done:

Is there a technical reason why it cannot be made possible? We would like to statically link both to avoid having to protect against unscrupulous users trying to substitute their own DLLs for the Cryptlex ones. If we must use a DLL, do you have a recommended security practice for checking that the LexActivator or LexFloatClient DLL is genuine?

C
CryptlexCryptlex team

Hi Gary,

This limitation no more exists. You can link both the libs together. But on Windows, currently, we don’t ship static-libs, so you can use it on Linux and macOS only.

To check the integrity of the dll, you can store the md5 hash of dll in your app, and verify it from your app.

G
Gary Shrimpling

Do you plan to ship a static LexFloatClient for Windows any time in the future? We build our apps for both platforms and we don’t like having differences between the two, so at the moment you’re forcing us to link LexFloatClient dynamically on both.

C
CryptlexCryptlex team

I have created a ticket for the same. But it may take a month or two.

G
Gary Shrimpling

Okay. That sounds great. Thank you.

J
Jaap H Boerhof

We would like to have a static LexFloatClient-lib for Windows too!

C
Carl Colijn

+1 from me too, with a bonus feature request at Combined lexActivator & lexFloatClient libs :slight_smile:

G
Gary Shrimpling

Is there any progress on this? Any idea of when a static library for Windows will be made available? We would like to see it by the end of this year.

A
Adnan KamiliCryptlex team

Yes, this is in progress. This will be available around mid-December or earlier.

A
Adnan KamiliCryptlex team

The static version of LexFloatClient for Windows is now available for download.

G
Gary Shrimpling

We have a problem. Both LexActivator and LexFloatClient have a static variable TimerHandle, so we get duplicate symbol errors when trying to link both LexActivator and LexFloatClient to our own static lib on Windows.

2>RLMflex_s.lib(LexThread.obj) : error LNK2005: “class std::map<class std::basic_string<char,struct std::char_traits,class std::allocator >,void *,struct std::less<class std::basic_string<char,struct std::char_traits,class std::allocator > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits,class std::allocator > const ,void *> > > TimerHandle” (?TimerHandle@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAXU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAX@std@@@2@@std@@A) already defined in RLMflex_s.lib(LexFloatClientThread.obj)

A
Adnan KamiliCryptlex team

Hi Gary,

We are looking into the issue. Will get back to you.

A
Adnan KamiliCryptlex team

Hi Gary,

The issue has been fixed in the latest version now.

← Back to all topics · 13 posts · 2050 views · opened 2020-09-25