开发者

One has to provide four different libraries with Visual Studio?

开发者 https://www.devze.com 2023-02-04 04:06 出处:网络
This post and this post says that with Visual Studio, the run time library can be static/dynamic, and it shouldn\'t be mixed. Even one can have debugging version/release version for the librar开发者_S

This post and this post says that with Visual Studio, the run time library can be static/dynamic, and it shouldn't be mixed. Even one can have debugging version/release version for the librar开发者_StackOverflow社区y. And there are four possibilities (static/dynamic and debug/release).

So, with Visual Studio, the library provider has to provide four different versions of the same library?

ADDED

I tried to link CppUnit test (debug) with release build library, and I got an error. So, I wondered normally library provider might need to provide all the possible combination of libraries.


depends.. under normal cicrcumstances you only provide a realease version. Then you have the option for static/dynamic. In the case of static, you don't have to provide anything since it's static: your lib already contains all functions from the crt it needs. In case of dynamic, it also depends: if you expect your clients to build applications using your lib, they already should have the required lib on their build machine. Else, yes, you can provide them with a crt installer for the dynamic release version (or just ship the corresponding dlls but that's considered rather bad practice)

Also if I remember correctly, you cannot redistribute the debug versions of VS's debug libraries, so in the end this would mean the library provider should only provide one version.


This is really the case with ANY C++ library (we have the same 4 options in our Unix side builds).

Please note that you only have to provide the debug versions if you intend them to be used by other developers, who will need them to debug - otherwise, for end users, you can only provide optimized ones.

0

精彩评论

暂无评论...
验证码 换一张
取 消