一、打开已有工程遇到的问题与解决方式
1、如下几张图,提示很友好,但我都点击了确定,并进行了运行,提示:
此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何。。。
2、根据提示安装依赖库
(1)搜索栏搜索应用Visual Studio Installer
(2)双击打开,选择单个组件安装,选择 MFC 库(库很多,实在不知道哪个库,就全选,估计相当大)进行安装
二、运行工程出现的问题与解决方式
1、如图,有很多错误,其中有找不到文件的错误:
已启动生成…
1>------ 已启动生成: 项目: Sys, 配置: Debug Win32 ------
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(39,5): warning MSB4211: 正在首次将属性“IntermediateOutputPath”设置为某个值,但已在“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”设置为某个值,但已在“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”设置为某个值,但已在“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets (38,5)”处使用了该属性。
1>cl : 命令行 warning D9035: “Gm”选项已否决,并将在将来的版本中移除
1>SysView.cpp
1>D:MinGWprojectsVCAdvancedSysView.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>SysDoc.cpp
1>D:MinGWprojectsVCAdvancedSysDoc.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>Sys.cpp
1>D:MinGWprojectsVCAdvancedSys.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>StdAfx.cpp
1>D:MinGWprojectsVCAdvancedStdAfx.cpp(5,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>MainFrm.cpp
1>D:MinGWprojectsVCAdvancedMainFrm.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>DIOView.cpp
1>D:MinGWprojectsVCAdvancedDIOView.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>DIOFrm.cpp
1>D:MinGWprojectsVCAdvancedDIOFrm.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>DIODoc.cpp
1>D:MinGWprojectsVCAdvancedDIODoc.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>ChildFrm.cpp
1>D:MinGWprojectsVCAdvancedChildFrm.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.x86DebugSys.pch”: No such file or directory
1>正在生成代码...
1>已完成生成项目“Sys.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
2、处理找不到文件的错误,不过有新的提示
已启动生成… 1>------ 已启动生成: 项目: Sys, 配置: Debug x64 ------ 1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(39,5): warning MSB4211: 正在首次将属性“IntermediateOutputPath”设置为某个值,但已在“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”设置为某个值,但已在“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”设置为某个值,但已在“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 生成工具进行生成,请安装 Visual Studio 2010 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”。 1>已完成生成项目“Sys.vcxproj”的操作 - 失败。 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
3、重定向项目,又出现了找不到文件的错误
4、不使用编译头进行处理,成功解决该问题
5、只是报了另一个错误:无法启动程序,系统找不到指定文件,目录下确实也没有
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(1363,5): warning MSB8012: TargetPath(D:MinGWprojectsVCAdvancedx64ReleaseSys.exe) 与 Linker 的 OutputFile 属性值(D:MinGWprojectsVCAdvancedSys_64.exe)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(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)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
1>Sys.vcxproj -> D:MinGWprojectsVCAdvancedx64ReleaseSys.exe
6、根据提示进行处理
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(1363,5): warning MSB8012: TargetPath(C:UsersyeqinfangDesktopOUTSys.exe.exe) 与 Linker 的 OutputFile 属性值(C:UsersyeqinfangDesktopOUTSys.exe)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(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)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
7、运行之后又有新问题
线程 0x32c4 已退出,返回值为 0 (0x0)。
线程 0xccbc 已退出,返回值为 0 (0x0)。
线程 0xbe5c 已退出,返回值为 0 (0x0)。
线程 0xc9a8 已退出,返回值为 0 (0x0)。
线程 0xdbe4 已退出,返回值为 0 (0x0)。
程序“[50280] Sys .exe”已退出,返回值为 0 (0x0)。
8、上述问题解决办法
三、生成exe和dll
exe已经通过上述方式实现,这里不再重复。那么,如何生成dll文件呢?
1、在上述的基础上,设置如下:没有生成文件,原因也有提示
已启动生成…
1>------ 已启动生成: 项目: Sys, 配置: Release x64 ------
1>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(499,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 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>已完成生成项目“Sys.vcxproj”的操作。
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========
2、重新创建工程,将有用的代码复制到该工程,继续尝试
报错信息还是一样,不过这次生成了dll文件,感觉没搞懂这个机制。先不管了,用起来再说!
阅读全文