我有VS 2008,我希望我的应用程序能够使用Windows 98而不需要包含MSVCR90.dll .. Win98自带了MSVCR60,所以我怎么能告诉MSVC做到这一点?我唯一的选择是寻找Visual Studio 6吗?使用旧版本的MSVCR?
感谢
*我也想避免静态链接msvcr
我有VS 2008,我希望我的应用程序能够使用Windows 98而不需要包含MSVCR90.dll .. Win98自带了MSVCR60,所以我怎么能告诉MSVC做到这一点?我唯一的选择是寻找Visual Studio 6吗?使用旧版本的MSVCR?
感谢
*我也想避免静态链接msvcr
你不能告诉Visual Studio中使用运行时库的早期版本。即使您可以使用旧库进行编译,应用程序本身也不会正常运行,因为编译器会将调用插入到预期位于库中的函数中,可能并非如此。
另外我想避免静态链接msvcr
为什么?这似乎是解决这个问题的完美解决方案。当然,你为它支付了大约100kb的代码大小,但是值得一提的是它被迫使用Visual Studio 6的bug和不合格的编译器。
您也可以只包含MSVC++可再发行组件,它将包含正确的DLL并且不需要标准库的静态链接。
VS2008仍然与libCtiny一起工作; ,可以让你到4-8 KB – MSalters 2010-04-26 12:32:11
@MSalters(未开销,磁盘上的整个应用程序的大小!):是的,但如果你依靠CRT的功能,那么你会出现在libctiny非常惊讶:(但要使用VS2010它可用之前 – 2010-04-26 12:41:14
显然重修甚至libctiny需求。当然,你可以再后来添加静态库,因此将只用于不libCtiny提供的CRT功能。但是,如果真正的问题是关于C++,然后是C LIB更换只是故事的一半反正 – MSalters 2010-04-26 13:03:41
如果要面向Windows 98,你的选择是:
得到的二进制文件至于CRT分布:
如果你不是一个“重”用户C++功能,如异常,和STL,你也许可以在任何CRT不连接在所有脱身。否则你的选择是:
的Low Overhead Microsoft Visual Studio C Runtime是一种静态可链接C运行时使最大限度地利用现有的DLL的已经与Windows分发。
哈哈!我第一次读这个问题时,我以为是在谈论录像带。 – 2010-04-24 23:12:41
lol :-p我想只是静态链接它.... – jmasterx 2010-04-24 23:14:56