日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2015编译程序兼容XP

發布時間:2023/12/14 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2015编译程序兼容XP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前記

這幾天被2015編譯的程序要在xp上運行搞得想死,各種試,真的比寫代碼要痛苦,在此記下一些要點以防下次使用。。。

一、動態鏈接發布

?

  1. 項目菜單->項目屬性->配置屬性->常規->平臺工具集,選擇“Visual Studio 2015 - Windows XP (v140_xp)”;

  2. 項目菜單->項目屬性->配置屬性->常規->MFC的使用,你的MFC的使用應是這個 在共享 DLL 中使用 MFC

  3. 項目菜單->項目屬性->鏈接器->系統->子系統->控制臺或窗口windows(根據你的項目類型選擇),第二項版本號設成5.01。

  4. C/C++->代碼生成->運行庫,選擇“多線程DLL(/MD)";注意區別,多線程DLL調試,是動態鏈接時選擇,而且在debug下使用,而多線程DLL在發布release時選擇,此外還有多線程,多線程調試,此為靜態鏈接時選擇。

  5. 把2015的update裝了,否則你會發現沒有Visual Studio 2015 - Windows XP (v140_xp)這個選項。

?

注:如果你調用了別人的DLL(LoadLibrary),被調用的庫也要按這種方式編譯,否則可能加載庫失敗。

二、靜態鏈接發布

?

  1. 項目菜單->項目屬性->配置屬性->常規->平臺工具集,選擇“Visual Studio 2015 - Windows XP (v140_xp)”;

  2. 項目菜單->項目屬性->配置屬性->常規->MFC的使用,你的MFC的使用應是這個?在靜態庫中使用 MFC

  3. 項目菜單->項目屬性->鏈接器->系統->子系統->控制臺或窗口windows(根據你的項目類型選擇),第二項版本號設成5.01。

  4. C/C++->代碼生成->運行庫,選擇“多線程(/MT)";注意區別,多線程DLL調試,是動態鏈接時選擇,而且在debug下使用,而多線程DLL在發布release時選擇,此外還有多線程,多線程調試,此為靜態鏈接時選擇。

  5. 把2015的update裝了,否則你會發現沒有Visual Studio 2015 - Windows XP (v140_xp)這個選項。

注:動態方式不行再使用靜態方式,因為我這邊的程序都是動態編譯的。要是改成靜態麻煩死。

下面以我的一個程序,依賴boost庫來說明:

一開始選擇動態編譯怎么樣都不能運行,提示這是一個無效的win32應用程序,真嗶了狗了,沒辦法,使用大招靜態編譯。

設置好上面說的選項,然后重新編譯boost庫,我的boost版本為boost_1_64_0,我這邊的boost的庫是從同事那邊弄來的,可能編譯選項它有默認設置,這個我沒有深究,總之,我改成靜態編譯

打開VS2015 x86控制臺,運行 b2.exe link=static runtime-link=static ,這兩個參數有什么區別,我也沒搞懂,就編吧,然后出現successfully built,非常高興啊,沒有出現意外,此時庫名字libboost_atomic-vc140-mt-s-1_64.lib, 看見沒mt-s 靜態編譯非調式用的,對應的調式用的libboost_atomic-vc140-mt-sgd-1_64.lib,gd表示調試。??

下面再看下動態的是什么樣的。libboost_atomic-vc140-mt-1_64.lib 注意沒用-s ,這是非調試版,對應的調試版應該有gd,但是這個boost還會生成dll,我實在搞不懂這都是什么跟什么,但是只要我能運行,不管它。。。

然后在我的xp虛擬機上運行然后發現,無法定位輸入點getlogicalprocessorInformation于動態鏈接庫Kernel32.dll(動態的可以),臥槽這又是什么鬼東西,然后搜索,發現我的系統是xp sp2 ,好像sp3可以,然后放到sp3上,運行成功了,但是sp2 ,sp1不行,沒辦法好歹也算進步了。。。

?

總結

以上是生活随笔為你收集整理的VS2015编译程序兼容XP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。