我有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