Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ VisualStudio:;不是Win32应用程序;错误_C++_Visual Studio - Fatal编程技术网

C++ VisualStudio:;不是Win32应用程序;错误

C++ VisualStudio:;不是Win32应用程序;错误,c++,visual-studio,C++,Visual Studio,我正在按照教程设置一个特定的Visual Studio项目,该项目提供了以下说明: 它还补充说,我应该在Release32模式下构建项目,用Release替换Debug,然后选择x86或Win32 但是,执行所有这些操作后,项目不会生成,而是抛出错误“不是Win32应用程序” 我如何解决这个问题 动态链接库 这些是而不是可以自己运行的代码-只能运行可执行文件(好吧,windows上的应用程序-可能还有其他类似VBS等) 但是,您可以在生成中调用DLL导入,然后将DLL中的代码用作普通库 头文件

我正在按照教程设置一个特定的Visual Studio项目,该项目提供了以下说明:

它还补充说,我应该在Release32模式下构建项目,用Release替换Debug,然后选择x86或Win32

但是,执行所有这些操作后,项目不会生成,而是抛出错误“不是Win32应用程序”


我如何解决这个问题

动态链接库

这些是而不是可以自己运行的代码-只能运行可执行文件(好吧,windows上的应用程序-可能还有其他类似VBS等)

但是,您可以在生成中调用DLL导入,然后将DLL中的代码用作普通库

头文件:

#pragma once  

#ifdef DLLEXAMPLE_EXPORTS  
#define DLLEXAMPLE_API __declspec(dllexport)   
#else  
#define DLLEXAMPLE_API __declspec(dllimport)   
#endif
源文件:

#include <headerfile>
#包括
然后,使用VS cli进行构建:
cl/EHsc/DLLEXAMPLE\u EXPORTS/LD
,或者只在VS中进行构建

然后,您将能够通过以下方式引用它(在填写win32 console应用程序的所有信息后,但不创建它

  • 转到结束解决方案控制-下拉列表
  • 添加到解决方案中
  • 创建解决方案
  • 解决方案资源管理器-参考
  • 勾选参考号
要添加头文件的文件夹,请在生成头文件的任何位置工作

  • 解决方案属性/config props/general/Add inc dirs/edit/将头文件目录位置的路径放在顶部字段中
  • 返回每个窗口,尽可能保存更改

现在可以通过在源代码中包含头文件来解决此问题。

“不是Win32应用程序,那么如何解决此问题?无法解决的问题是用户错误。您不能单独运行dll。您之所以会出现错误,是因为您试图这样做。@drescherjm是否确定?OP说“项目不生成,而是。。。“我认为它构建得很好,但用户单击了“调试/播放”按钮来构建和调试。“构建扩展名为“.dll”的应用程序”部分。”不正确且具有误导性。DLL不是应用程序,它是应用程序可以使用的代码库。您无法运行它。您确定它不会生成吗?日志说明了什么?您需要使用生成,而不是生成和运行命令。在您的环境选项中,您可以告诉调试器要启动哪个程序,然后选择并指定Excel.exe。