C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

这篇具有很好参考价值的文章主要介绍了C++开发实战(二):打开已有工程,并编译生成dll、exe等文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、打开已有工程遇到的问题与解决方式

1、如下几张图,提示很友好,但我都点击了确定,并进行了运行,提示:

此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何。。。

2、根据提示安装依赖库

(1)搜索栏搜索应用Visual Studio Installer

(2)双击打开,选择单个组件安装,选择 MFC 库(库很多,实在不知道哪个库,就全选,估计相当大)进行安装

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

二、运行工程出现的问题与解决方式

1、如图,有很多错误,其中有找不到文件的错误:

已启动生成…
1>------ 已启动生成: 项目: Sys, 配置: Debug Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(39,5): warning MSB4211: 正在首次将属性“IntermediateOutputPath”设置为某个值,但已在“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets (38,5)”处使用了该属性。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.BuildSteps.Targets(30,5): warning MSB4211: 正在首次将属性“DebugType”设置为某个值,但已在“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.BuildSteps.Targets (29,5)”处使用了该属性。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(373,5): warning MSB4211: 正在首次将属性“CleanFile”设置为某个值,但已在“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets (38,5)”处使用了该属性。
1>cl : 命令行 warning D9035: “Gm”选项已否决,并将在将来的版本中移除
1>SysView.cpp
1>D:\MinGW\projects\VC\Advanced\SysView.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>SysDoc.cpp
1>D:\MinGW\projects\VC\Advanced\SysDoc.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>Sys.cpp
1>D:\MinGW\projects\VC\Advanced\Sys.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>StdAfx.cpp
1>D:\MinGW\projects\VC\Advanced\StdAfx.cpp(5,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>MainFrm.cpp
1>D:\MinGW\projects\VC\Advanced\MainFrm.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>DIOView.cpp
1>D:\MinGW\projects\VC\Advanced\DIOView.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>DIOFrm.cpp
1>D:\MinGW\projects\VC\Advanced\DIOFrm.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>DIODoc.cpp
1>D:\MinGW\projects\VC\Advanced\DIODoc.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>ChildFrm.cpp
1>D:\MinGW\projects\VC\Advanced\ChildFrm.cpp(4,10): fatal error C1083: 无法打开预编译头文件: “.\x86\Debug\Sys.pch”: No such file or directory
1>正在生成代码...
1>已完成生成项目“Sys.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 2、处理找不到文件的错误,不过有新的提示

已启动生成…
1>------ 已启动生成: 项目: Sys, 配置: Debug x64 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(39,5): warning MSB4211: 正在首次将属性“IntermediateOutputPath”设置为某个值,但已在“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets (38,5)”处使用了该属性。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.BuildSteps.Targets(30,5): warning MSB4211: 正在首次将属性“DebugType”设置为某个值,但已在“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.BuildSteps.Targets (29,5)”处使用了该属性。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(373,5): warning MSB4211: 正在首次将属性“CleanFile”设置为某个值,但已在“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets (38,5)”处使用了该属性。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(439,5): error MSB8020: 无法找到 Visual Studio 2010 的生成工具(平台工具集 =“v100”)。若要使用 v100 生成工具进行生成,请安装 Visual Studio 2010 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”。
1>已完成生成项目“Sys.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 3、重定向项目,又出现了找不到文件的错误

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 4、不使用编译头进行处理,成功解决该问题

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 5、只是报了另一个错误:无法启动程序,系统找不到指定文件,目录下确实也没有

1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(1363,5): warning MSB8012: TargetPath(D:\MinGW\projects\VC\Advanced\x64\Release\Sys.exe) 与 Linker 的 OutputFile 属性值(D:\MinGW\projects\VC\Advanced\Sys_64.exe)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(1365,5): warning MSB8012: TargetName(Sys) 与 Linker 的 OutputFile 属性值(Sys_64)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
1>Sys.vcxproj -> D:\MinGW\projects\VC\Advanced\x64\Release\Sys.exe

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 6、根据提示进行处理

1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(1363,5): warning MSB8012: TargetPath(C:\Users\yeqinfang\Desktop\OUT\Sys.exe.exe) 与 Linker 的 OutputFile 属性值(C:\Users\yeqinfang\Desktop\OUT\Sys.exe)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(1365,5): warning MSB8012: TargetName(Sys.exe) 与 Linker 的 OutputFile 属性值(Sys)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

7、运行之后又有新问题

线程 0x32c4 已退出,返回值为 0 (0x0)。
线程 0xccbc 已退出,返回值为 0 (0x0)。
线程 0xbe5c 已退出,返回值为 0 (0x0)。
线程 0xc9a8 已退出,返回值为 0 (0x0)。
线程 0xdbe4 已退出,返回值为 0 (0x0)。
程序“[50280] Sys .exe”已退出,返回值为 0 (0x0)。

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 8、上述问题解决办法C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

三、生成exe和dll

exe已经通过上述方式实现,这里不再重复。那么,如何生成dll文件呢?

1、在上述的基础上,设置如下:没有生成文件,原因也有提示

已启动生成…
1>------ 已启动生成: 项目: Sys, 配置: Release x64 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.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:\Users\yeqinfang\Desktop\OUT002\Sys.dll
1>已完成生成项目“Sys.vcxproj”的操作。
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

 C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

2、重新创建工程,将有用的代码复制到该工程,继续尝试

报错信息还是一样,不过这次生成了dll文件,感觉没搞懂这个机制。先不管了,用起来再说!

C++开发实战(二):打开已有工程,并编译生成dll、exe等文件文章来源地址https://www.toymoban.com/news/detail-457948.html

到了这里,关于C++开发实战(二):打开已有工程,并编译生成dll、exe等文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Android Studio配置已有工程

    Download Android Studio App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today. https://developer.android.google.cn/studio/ 安装完成,其他配置详见: Android Studio安装和使用教程(全文图解)_android studio安装教程_朝歌

    2024年02月16日
    浏览(40)
  • 已有wchar_t *类型的filepath,使用Qt打开该文件

    1.wchar_t *转QString 2.Qt快速转换路径(斜杠与反斜杠转换)_tonativeseparators-CSDN博客 C:\\\\Users\\\\lpl\\\\Desktop\\\\腾讯视频.exe 到 C:/Users/lpl/Desktop/腾讯视频.exe 3.从外部打开 文件 或 文件夹 Qt之QDesktopServices-CSDN博客

    2024年02月08日
    浏览(31)
  • Flutter如何集成到已有iOS工程上

    大家好,我是咕噜铁蛋,今天我将和大家分享一个实用的技术教程——如何将Flutter集成到已有的iOS工程中。Flutter是Google推出的一款开源的移动UI框架,它允许开发者使用Dart语言来开发高性能、美观的原生应用,并支持iOS和Android两大平台。然而,在实际开发中,我们经常会遇

    2024年04月12日
    浏览(33)
  • CMake学习笔记-VSCode使用Cmake编译C++工程

    Win + MinGW + CMake + Git 官方教程1: https://cmake.org/cmake/help/latest/guide/tutorial/A%20Basic%20Starting%20Point.html 官方教程2: https://cmake.org/cmake/help/book/mastering-cmake/cmake/Help/guide/tutorial/index.html 官方练习材料1:https://github.com/Kitware/CMake.git 官方练习材料2:https://github.com/Kitware/CMake/blob/master/Help/guide

    2024年02月11日
    浏览(58)
  • 【TI-CCS笔记】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总

    【TI-CCS】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总 在CCS按照目录下 有个名为${CG_TOOL_ROOT}的目录 其下就是当前工程的编译器 存放目录为: 按类型分为五种: 其中 后缀表示编译器版本号 每个编译器的目录下都有一个bin目录 用于存放各种编译器的可执行

    2024年02月12日
    浏览(46)
  • 【UE4 C++】02-编译、生成当前的C++程序

    编译快捷键: Ctrl+F7  如果不使用快捷键,可以点击顶部菜单栏中的下拉按钮,然后选择自定义 点击添加命令  点击“生成”,选择编译“”,点击“确定” 此时可以看到顶部菜单栏多了一个用于编译的按钮 鼠标右键点击“VirtusCourse”,然后点击生成  生成结果如下    双

    2024年02月16日
    浏览(39)
  • QGIS3.28的二次开发一:编译工程

    更新:最近写了个3.18.3版本的编译教程,没有出现任何问题。 QGIS3.18编译教程_程序员班长的博客-CSDN博客 环境:VS2019+OSGeo4W+CMake_3.26+Cygwin64+QGIS_3.28 注意:一定要按照步骤顺序来! VS2019下载链接 https://my.visualstudio.com/Downloads?q=visual%20studio%202019wt.mc_id=o~msft~vscom~older-downloads 下载完

    2024年02月15日
    浏览(44)
  • iTOP-RK3588开发板Ubuntu 系统交叉编译 Qt 工程-命令行交叉编译

    使用源码 rk3588_linux/buildroot/output/rockchip_rk3588/host/bin/qmake 交叉编译 QT 工程。 最后烧写编译好的 buildroot 镜像,将编译好的 QT 工程可执行程序在 buildroot 系统上运行。 交叉编译 QT 工程如下所示,首先进入 QLed 的工程目录下。 然后使用以下命令交叉编译 QT 工程,如下图所示:

    2024年02月13日
    浏览(38)
  • Keil5在已有项目中导入文件夹(文件或模块),后编译,头文件找不到问题

    如果你是以及成功导入文件后,但是编译时发现头文件找不到,可以直接从第二部分看起 ** 导入头文件时注意,注意,注意路径问题要和导入文件时的路径一致,(应该不是本项目下的刚导入的文件夹的路径;虽然我们在导入文件后此路径下看是有这个文件夹,但是这个只是个虚拟的文

    2024年02月11日
    浏览(50)
  • AndroidNDK开发——使用Cmake编译生成so文件

    最近做串口开发需要编译不同的so文件,于是查找了各种资料,学习了一下so编译. 直接跑项目或者使用gradle构建so生成的so文件如下:这里大家根据自己的需求配置生成so文件,本文只是举例没有全部生成. 如果不引入so文件初始化和调用时会报错,提示找不到so文件,一定要记

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包