一、打開已有工程遇到的問題與解決方式
1、如下幾張圖,提示很友好,但我都點(diǎn)擊了確定,并進(jìn)行了運(yùn)行,提示:
此項(xiàng)目需要 MFC 庫。從 Visual Studio 安裝程序(單個(gè)組件選項(xiàng)卡)為正在使用的任何。。。
2、根據(jù)提示安裝依賴庫
(1)搜索欄搜索應(yīng)用Visual Studio Installer
(2)雙擊打開,選擇單個(gè)組件安裝,選擇?MFC 庫(庫很多,實(shí)在不知道哪個(gè)庫,就全選,估計(jì)相當(dāng)大)進(jìn)行安裝
二、運(yùn)行工程出現(xiàn)的問題與解決方式
1、如圖,有很多錯(cuò)誤,其中有找不到文件的錯(cuò)誤:
已啟動(dòng)生成…
1>------ 已啟動(dòng)生成: 項(xiàng)目: Sys, 配置: Debug Win32 ------
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(39,5): warning MSB4211: 正在首次將屬性“IntermediateOutputPath”設(shè)置為某個(gè)值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets (38,5)”處使用了該屬性。
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.BuildSteps.Targets(30,5): warning MSB4211: 正在首次將屬性“DebugType”設(shè)置為某個(gè)值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.BuildSteps.Targets (29,5)”處使用了該屬性。
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildCurrentBinMicrosoft.Common.CurrentVersion.targets(373,5): warning MSB4211: 正在首次將屬性“CleanFile”設(shè)置為某個(gè)值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets (38,5)”處使用了該屬性。
1>cl : 命令行 warning D9035: “Gm”選項(xiàng)已否決,并將在將來的版本中移除
1>SysView.cpp
1>D:MinGWprojectsVCAdvancedSysView.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>SysDoc.cpp
1>D:MinGWprojectsVCAdvancedSysDoc.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>Sys.cpp
1>D:MinGWprojectsVCAdvancedSys.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>StdAfx.cpp
1>D:MinGWprojectsVCAdvancedStdAfx.cpp(5,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>MainFrm.cpp
1>D:MinGWprojectsVCAdvancedMainFrm.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>DIOView.cpp
1>D:MinGWprojectsVCAdvancedDIOView.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>DIOFrm.cpp
1>D:MinGWprojectsVCAdvancedDIOFrm.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>DIODoc.cpp
1>D:MinGWprojectsVCAdvancedDIODoc.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>ChildFrm.cpp
1>D:MinGWprojectsVCAdvancedChildFrm.cpp(4,10): fatal error C1083: 無法打開預(yù)編譯頭文件: “.x86DebugSys.pch”: No such file or directory
1>正在生成代碼...
1>已完成生成項(xiàng)目“Sys.vcxproj”的操作 - 失敗。
========== 生成: 成功 0 個(gè),失敗 1 個(gè),最新 0 個(gè),跳過 0 個(gè) ==========
2、處理找不到文件的錯(cuò)誤,不過有新的提示
已啟動(dòng)生成… 1>------ 已啟動(dòng)生成: 項(xiàng)目: Sys, 配置: Debug x64 ------ 1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(39,5): warning MSB4211: 正在首次將屬性“IntermediateOutputPath”設(shè)置為某個(gè)值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets (38,5)”處使用了該屬性。 1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.BuildSteps.Targets(30,5): warning MSB4211: 正在首次將屬性“DebugType”設(shè)置為某個(gè)值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.BuildSteps.Targets (29,5)”處使用了該屬性。 1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildCurrentBinMicrosoft.Common.CurrentVersion.targets(373,5): warning MSB4211: 正在首次將屬性“CleanFile”設(shè)置為某個(gè)值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets (38,5)”處使用了該屬性。 1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(439,5): error MSB8020: 無法找到 Visual Studio 2010 的生成工具(平臺工具集 =“v100”)。若要使用 v100 生成工具進(jìn)行生成,請安裝 Visual Studio 2010 生成工具?;蛘?,可以升級到當(dāng)前 Visual Studio 工具,方式是通過選擇“項(xiàng)目”菜單或右鍵單擊該解決方案,然后選擇“重定解決方案目標(biāo)”。 1>已完成生成項(xiàng)目“Sys.vcxproj”的操作 - 失敗。 ========== 生成: 成功 0 個(gè),失敗 1 個(gè),最新 0 個(gè),跳過 0 個(gè) ==========
3、重定向項(xiàng)目,又出現(xiàn)了找不到文件的錯(cuò)誤
4、不使用編譯頭進(jìn)行處理,成功解決該問題
5、只是報(bào)了另一個(gè)錯(cuò)誤:無法啟動(dòng)程序,系統(tǒng)找不到指定文件,目錄下確實(shí)也沒有
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(1363,5): warning MSB8012: TargetPath(D:MinGWprojectsVCAdvancedx64ReleaseSys.exe) 與 Linker 的 OutputFile 屬性值(D:MinGWprojectsVCAdvancedSys_64.exe)不匹配。這可能導(dǎo)致項(xiàng)目生成不正確。若要更正此問題,請確保 $(OutDir)、$(TargetName) 和 $(TargetExt) 屬性值與 %(Link.OutputFile) 中指定的值匹配。
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(1365,5): warning MSB8012: TargetName(Sys) 與 Linker 的 OutputFile 屬性值(Sys_64)不匹配。這可能導(dǎo)致項(xiàng)目生成不正確。若要更正此問題,請確保 $(OutDir)、$(TargetName) 和 $(TargetExt) 屬性值與 %(Link.OutputFile) 中指定的值匹配。
1>Sys.vcxproj -> D:MinGWprojectsVCAdvancedx64ReleaseSys.exe
6、根據(jù)提示進(jìn)行處理
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(1363,5): warning MSB8012: TargetPath(C:UsersyeqinfangDesktopOUTSys.exe.exe) 與 Linker 的 OutputFile 屬性值(C:UsersyeqinfangDesktopOUTSys.exe)不匹配。這可能導(dǎo)致項(xiàng)目生成不正確。若要更正此問題,請確保 $(OutDir)、$(TargetName) 和 $(TargetExt) 屬性值與 %(Link.OutputFile) 中指定的值匹配。
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(1365,5): warning MSB8012: TargetName(Sys.exe) 與 Linker 的 OutputFile 屬性值(Sys)不匹配。這可能導(dǎo)致項(xiàng)目生成不正確。若要更正此問題,請確保 $(OutDir)、$(TargetName) 和 $(TargetExt) 屬性值與 %(Link.OutputFile) 中指定的值匹配。
7、運(yùn)行之后又有新問題
線程 0x32c4 已退出,返回值為 0 (0x0)。
線程 0xccbc 已退出,返回值為 0 (0x0)。
線程 0xbe5c 已退出,返回值為 0 (0x0)。
線程 0xc9a8 已退出,返回值為 0 (0x0)。
線程 0xdbe4 已退出,返回值為 0 (0x0)。
程序“[50280] Sys .exe”已退出,返回值為 0 (0x0)。
8、上述問題解決辦法
三、生成exe和dll
exe已經(jīng)通過上述方式實(shí)現(xiàn),這里不再重復(fù)。那么,如何生成dll文件呢?
1、在上述的基礎(chǔ)上,設(shè)置如下:沒有生成文件,原因也有提示
已啟動(dòng)生成…
1>------ 已啟動(dòng)生成: 項(xiàng)目: Sys, 配置: Release x64 ------
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(499,5): warning MSB8004: Output 目錄未以斜杠結(jié)尾。 此生成實(shí)例將添加斜杠,因?yàn)楸仨氂羞@個(gè)斜杠才能正確計(jì)算 Output 目錄。
1>stdafx.cpp
1>Sys.cpp
1>======== Welcome to use our art company's products!
1>======== Automatically linking with USB5538_64.dll...
1>======== Successfully linked with USB5538_64.dll
1>正在生成代碼
1>Previous IPDB not found, fall back to full compilation.
1>All 1 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
1>已完成代碼的生成
1>Sys.vcxproj -> C:UsersyeqinfangDesktopOUT002Sys.dll
1>已完成生成項(xiàng)目“Sys.vcxproj”的操作。
========== 生成: 成功 1 個(gè),失敗 0 個(gè),最新 0 個(gè),跳過 0 個(gè) ==========
2、重新創(chuàng)建工程,將有用的代碼復(fù)制到該工程,繼續(xù)嘗試
報(bào)錯(cuò)信息還是一樣,不過這次生成了dll文件,感覺沒搞懂這個(gè)機(jī)制。先不管了,用起來再說!