设计制作网站收费,网站信息批量查询工具,山东网站建设电话,wordpress主题搜索1、问题描述 这两天一直在用vs2008编写一个小项目#xff0c;需要在c代码中通过命令行的方式调用cl.exe和link.exe#xff0c;也就是给编译器cl和链接器link传递参数#xff0c;然后编译链接生成可执行文件exe.最终生成的result.exe运行时老出现Runtime Error R6034 An appl… 1、问题描述 这两天一直在用vs2008编写一个小项目需要在c代码中通过命令行的方式调用cl.exe和link.exe也就是给编译器cl和链接器link传递参数然后编译链接生成可执行文件exe.最终生成的result.exe运行时老出现Runtime Error R6034 An application has made an attempt to load the C runtime library incorrectly.的错误围绕这个问题我查了两天的资料最后终于解决了。。 在此简单的记录一下解决方法方便以后用到。 2、问题解决 在利用命令行的方式编译链接生成可执行文件之前可以将需要传递给cl.exe的源程序.cpp,.h文件拎出来利用这些源文件手动的创建一个vs2008工程然后编译链接这个vs2008工程生成可执行文件。做这一步是为了保证生成的可执行文件是你本人需要的结果如果这个手动工程都不能生成你需要的exe那通过命令行的方式生成的exe肯定就不是你想要得到的结果。 生成好vs2008工程并且执行正确后在这个工程的项目---属性--c/c---命令行你会看到一大堆的命令其实这就是传递给cl.exe的命令同样的道理在项目---属性--链接器---命令行中可以看到传递给link.exe的命令。 按照上面所说的方法我在自己的项目中编写好自动生成exe 的代码生成一个exe。然后点击这个exe就出现Runtime Error R6034 。 下面贴上解决该问题的原文 An application has made an attempt to load the C runtime library without using a manifest. This is an unsupported way to load Visual C DLLs. You need to modify your application to build with a manifest. For more information, see the Visual C Libraries as Shared Side-by-Side Assemblies topic in the product documentation. Applications must use a manifest to load the C runtime library. For more information, see Visual C Libraries as Shared Side-by-Side Assemblies and Manifest Generation in Visual Studio.In release builds, the diagnostic message reads: An application has made an attempt to load the C runtime library incorrectly. Please contact the applications support team for more information. To correct this error Rebuild your application to include a manifest. Building an application with Visual Studio automatically puts the manifest into the resulting .exe or .dll file. If you are building at the command line, use the mt.exe tool to add the manifest as a resource. Use resource ID 1 if you build an .exe, and resource ID 2 if you build a .dll. For more information, see How to: Embed a Manifest Inside a C/C Application. 重点是这一句:If you are building at the command line, use the mt.exe tool to add the manifest as a resource. Use resource ID 1 if you build an .exe, and resource ID 2 if you build a .dll. For more information, see How to: Embed a Manifest Inside a C/C Application. 按照这个说法命令行不仅需要调用cl.exe和link.exe还需要调用一个叫mt.exe的mt.exe的参数其实在上文创建的vs2008工程下项目---属性---清单工具----命令行有相关的命令参数。在命令中添加这一个命令之后重新执行问题就可解决了。 转载于:https://www.cnblogs.com/LCCRNblog/p/4547892.html