MT还是MD用于静态释放?
在我的应用程序的静态版本中,我不希望用户需要 msvcrt 运行时。我的应用程序依赖于我自己编译的另一个库。这个库在编译时应该使用多线程还是多线程DLL?该库是静态编译的。
谢谢
In the static release of my application, I do not want the user to need the msvcrt runtime. My application depends on another library that I compile myself. Should this library use multithreaded or multithreaded DLL when compiling it? The library is static compiled.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
VC++ 的许可协议禁止在任何尚未安装 VC++ 的计算机上分发调试版本,因此您唯一的选择是使用
/MTd
或/MDd
进行调试版本在开发应用程序和用于分发的发布版本的/MT
时。VC++'s license agreement prohibits the distribution of debug builds on any computer that doesn't already have VC++ installed, so your only option is to use
/MTd
or/MDd
for debug builds while developing the application and/MT
for the release build meant for distribution.您应该尽可能使用 DLL CRT,如果您开始静态链接多个副本,最终可能会遇到麻烦。如果您知道您正在编译最终产品,那么您可以静态链接。
You should use DLL CRTs wherever possible, you can end up with trouble if you start linking multiple copies statically. If you know for a fact that you're compiling the final product, then you could link statically.