This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

What is the difference between nrf-ble-driver-sd_api_v6-mt-4_1_1.lib and nrf-ble-driver-sd_api_v6-mt-static-4_1_1.lib?

I first assumed the obvious that the first library would be used with the (Visual studio) multi-threaded DLL/MD option and the second would be used with the multi-threaded/MT option. However, I can only build with the multi-threaded DLL/MD option and I only use the static library. I do not include the other library.

I would like to build a stand-alone exe that does not depend upon MS redistributables.

  • How would I build a static exe that does not depend upon MS redistributables (everything else I have does NOT require redistributables)?
  • How are the two different libraries used and when do I use one versus the other or shall I use both?
Parents Reply
  • Hi,

    Right. I think I see now. The issue is that the static library is "static" in the context of pc-ble-driver (no need to provide pc-ble-driver shared library), but not in the context of MSVC runtimes (need to provide those shared libraries.)

    That means you must compile pc-ble-driver from source, instead of using the pre-compiled (differently linked) drivers in the release, and with the proper settings for static linking with the MSVC runtimes.

    Regards,
    Terje

Children
Related