VS2022 支持XP

      網友投稿 1452 2025-03-31

      (null)不是有效的Win32應用程序


      程序在古老的 32位 XP 系統下報錯了 (null)不是有效的Win32應用程序

      首先,檢查 “解決方案配置” 是否設置為 Release + x86(編譯成32位版本,是為了同時兼容32位和64位系統)

      在 “控制面板” —> “程序和功能”,找到 Microsoft Virtual Studio Installer,右擊選擇 “修改”

      然后選擇 “單個組件”,搜索 XP,可以看到一條 “對 VS 2017(v141)工具的C++ Windows XP 支持 [已棄用]”,勾選并安裝

      在解決方案資源管理器中,對每個項目,右擊屬性,修改配置屬性。常規 —> 平臺工具集 —> Visual Studio 2017 - Window XP (v141_xp)

      該版本相關的SDK與編譯工具,也要一并安裝

      MFC可以說是套界面庫,主要構建于Win32 API之上

      ATL主要是為COM而生的,是一套模板庫,開發COM組件很方便

      Spectre 緩解的官方文檔如下,如果禁用了就不需要安裝

      https://docs.microsoft.com/zh-cn/visualstudio/msbuild/errors/msb8040?view=vs-2019

      C2706 語法錯誤:此處出現意外的"標識符"; 應為"類型說明符"

      符合性改進介紹

      https://docs.microsoft.com/zh-cn/cpp/overview/cpp-conformance-improvements?view=msvc-170&viewFallbackFrom=vs-2017

      如果代碼在之前版本沒問題,升級之后報上面錯誤。需要右擊,選擇屬性 —> 配置屬性 C/C++ —> 語言 —> 符合模式 —> 改成"否",就OK了

      /permissive-:啟用所有嚴格標準符合性編譯器選項,并禁用大部分特定于 Microsoft 的編譯器擴展(但有一些例外,比如 __declspec(dllimport))。 在 Visual Studio 2017 15.5 版中此選項默認為開啟狀態。 /permissive- 符合性模式包括對兩階段名稱查找的支持

      C1010 在查找預編譯頭時遇到意外的文件結尾。是否忘記了向源中添加“#include “pch.h””?

      錯誤原因是:編譯器在尋找預編譯指示頭文件(默認#include"pch.h")時,文件未預期結束。沒有找到預編譯指示信息的頭文件 “pch.h”

      因為工程中的每個cpp文件屬性默認都是使用預編譯頭(/YU)的,但是添加的第三方文件并沒有 #include "stdafx.h"預編譯指示頭,所以編譯器在此cpp文件中一直到末尾都沒有找到它

      VS2022 支持XP

      解決方案是,右鍵項目屬性 —> 配置屬性 —> C/C++ —> 預編譯頭 —> 將 “使用預編譯頭(/Yu)” 改成 “不使用預編譯頭”

      無法打開包括文件

      右鍵查看該項目的屬性 —〉配置屬性 —〉C/C++ ——〉常規 —〉附加包含目錄

      工程根目錄為:$(ProjectDir)

      其子目錄inc為:$(ProjectDir)inc

      _CRT_SECURE_NO_WARNINGS

      解決方案一

      //屏蔽 scanf 或 fopen 函數的錯誤,代碼中添加以下代碼,要放到文件最上面! #define _CRT_SECURE_NO_WARNINGS

      1

      2

      解決方案二

      在項目屬性,預處理器中添加 _CRT_SECURE_NO_WARNINGS

      找不到ssl頭文件

      這個問題首先需要安裝 openssl,官網沒有提供window的安裝包,因此只能去第三方網站 http://slproweb.com/products/Win32OpenSSL.html 下載 msi 的安裝包

      安裝好之后,目錄結構如下

      添加環境變量

      Win+R,打開"運行"對話框,輸入 openssl version ,打印出版本號說明路徑設置正確

      我這里 openssl 的安裝路徑為 C:\Program Files (x86)\OpenSSL-Win32

      配置屬性 —> C/C++ —> 常規 —> 附加包含目錄,添加 C:\Program Files (x86)\OpenSSL-Win32\include\

      配置屬性 —> 鏈接器 —>常規 —> 附加庫目錄,添加 C:\Program Files (x86)\OpenSSL-Win32\lib\

      配置屬性 —> 鏈接器 —>輸入 —> 附加依賴項,添加 libeay32.lib;ssleay32.lib

      只生成部分項目

      解決方案,整個項目的屬性,對于測試,或者不用的項目,取消 “生成” 的勾選

      Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

      報這個錯誤,是因為把項目配置成了靜態庫 (.lib) ,但是卻將運行庫類型配置成 DLL,沖突了,所以報錯

      配置屬性 —> 常規 —> 項目默認值 —> 配置類型

      配置屬性 —> C/C++ —> 代碼生成 —> 運行庫

      多線程(/MT)— “MFC的使用”:在靜態庫中使用MFC

      多線程DLL(/MD)— “MFC的使用”:在共享DLL中使用MFC

      獲取設備唯一標識

      wmic csproduct get uuid wmic cpu get processorid wmic diskdrive get serialnumber wmic baseboard get version wmic bios get Version wmic bios get Manufacturer

      1

      2

      3

      4

      5

      6

      ReSharper

      C++的依賴關系,通常不夠只管。ReSharper可以幫我們以圖形化的方式展現依賴關系

      -如下:https://jetbrains.gallery.vsassets.io/_apis/public/gallery/publisher/JetBrains/extension/ReSharper/2021.3/assetbyname/JetBrains.ReSharper.web.exe?redirect=true&install=true

      不過需要 “翻^Qiang”

      我這邊是C++,因此只要安裝一個就好了

      C++ Windows

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel一鍵替換所有空格方法分享
      下一篇:公式計算與實際不符(公式不能計算的原因)
      相關文章
      亚洲综合精品伊人久久| 亚洲日韩中文字幕| 2020久久精品亚洲热综合一本| 久久精品国产亚洲AV无码麻豆| 中文字幕亚洲第一| 亚洲精品国产高清不卡在线| 一区二区三区亚洲视频| 无码天堂亚洲国产AV| www.91亚洲| 精品国产亚洲一区二区在线观看| 亚洲日韩国产成网在线观看| 亚洲午夜精品第一区二区8050| 亚洲精品久久久www| 亚洲人成影院在线观看| 亚洲综合色区在线观看| 久久激情亚洲精品无码?V| 久久影视国产亚洲| 亚洲人成人77777网站| 亚洲欧洲日产国码av系列天堂 | 亚洲人成网站在线播放vr | 亚洲天堂2017无码中文| 亚洲国产最大av| 亚洲色偷精品一区二区三区| 亚洲乱色伦图片区小说| 国产精品无码亚洲精品2021| 亚洲JIZZJIZZ中国少妇中文| 亚洲日韩在线第一页| 亚洲人成色77777| 亚洲国产精品久久久久婷婷软件 | 日本系列1页亚洲系列| va亚洲va日韩不卡在线观看| 国产亚洲美日韩AV中文字幕无码成人 | 日韩亚洲AV无码一区二区不卡| 91亚洲导航深夜福利| 亚洲国产成人资源在线软件| 亚洲中文字幕无码久久2020| 欧美日韩亚洲精品| 国产精品亚洲综合一区| 国产亚洲A∨片在线观看| 4444亚洲国产成人精品| 97se亚洲国产综合自在线 |