c++中总是出现未定义标识符的错误提示? 财富值27

2016-11-01 15:10发布

1.代码总是出现未定义标识符的错误提示
2.源码

#include "stdafx.h" #include "vpn.h" #include "vpnDlg.h"  #ifdef _DEBUG #define new DEBUG_NEW #endif   // CvpnApp  int BEGIN_MESSAGE_MAP(CvpnApp, CWinApp)      ON_COMMAND(ID_HELP, &CWinApp::OnHelp)     END_MESSAGE_MAP()    // CvpnApp 构造  CvpnApp::CvpnApp() {     // 支持重新启动管理器     m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;      // TODO: 在此处添加构造代码,     // 将所有重要的初始化放置在 InitInstance 中 }   // 唯一的一个 CvpnApp 对象  CvpnApp theApp;   // CvpnApp 初始化  BOOL CvpnApp::InitInstance() {     // 如果一个运行在 Windows XP 上的应用程序清单指定要     // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,     //则需要 InitCommonControlsEx()。否则,将无法创建窗口。     INITCOMMONCONTROLSEX InitCtrls;     InitCtrls.dwSize = sizeof(InitCtrls);     // 将它设置为包括所有要在应用程序中使用的     // 公共控件类。     InitCtrls.dwICC = ICC_WIN95_CLASSES;     InitCommonControlsEx(&InitCtrls);      CWinApp::InitInstance();       AfxEnableControlContainer();      // 创建 shell 管理器,以防对话框包含     // 任何 shell 树视图控件或 shell 列表视图控件。     CShellManager *pShellManager = new CShellManager;      // 标准初始化     // 如果未使用这些功能并希望减小     // 最终可执行文件的大小,则应移除下列     // 不需要的特定初始化例程     // 更改用于存储设置的注册表项     // TODO: 应适当修改该字符串,     // 例如修改为公司或组织名     SetRegistryKey(_T("应用程序向导生成的本地应用程序"));      CvpnDlg dlg;      m_pMainWnd = &dlg;     INT_PTR nResponse = dlg.DoModal();     if (nResponse == IDOK)     {         // TODO: 在此放置处理何时用         //  “确定”来关闭对话框的代码     }     else if (nResponse == IDCANCEL)     {         // TODO: 在此放置处理何时用         //  “取消”来关闭对话框的代码     }      // 删除上面创建的 shell 管理器。     if (pShellManager != NULL)     {         delete pShellManager;     }      // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,     //  而不是启动应用程序的消息泵。     return FALSE; }

3.错误提示

7条回答
无极 - 这个人很懒,什么都没留下
1楼 · 2016-11-01 15:04.采纳回答

找不到这个头文件啊 "afxwin.h"

可以把你的代码格式调一调吗,这让人怎么看;

头文件引用不到,你看看你设置的路径里是不是查不到这个头文件,或者是相对位置写错了。

你用了MFC,afxwin是MFC的头文件。在工程设置里,在常规里,MFC使用改成动态库。

项目的编码集错了,把项目改为unicode编码,在项目属性里修改

应该是缺少头文件导致的

一周热门 更多>