第一个MFC程序“Hello, World!”(vs2008)

代码段如下:

//hello.cpp

#include <afxwin.h>

// 说明应用程序类
class CHelloApp : public CWinApp
{
   public:  
      virtual BOOL InitInstance();
};

// 建立应用程序类的实例
CHelloApp HelloApp;

// 说明主窗口类
class CHelloWindow : public CFrameWnd
{
    CStatic* cs;
    public:
        CHelloWindow();
};

// 每当应用程序首次执行时都要调用的初始化函数
BOOL CHelloApp::InitInstance()
{
    m_pMainWnd = new CHelloWindow();
    m_pMainWnd->ShowWindow(m_nCmdShow);
    m_pMainWnd->UpdateWindow();
    return TRUE;
}

// 窗口类的构造函数
CHelloWindow::CHelloWindow()
{
    // 建立窗口本身
    Create(NULL,
           "Hello World!",
           WS_OVERLAPPEDWINDOW,
           CRect(0,0,200,200));

    // 建立静态标签
    cs = new CStatic();
    cs->Create("hello world",
               WS_CHILD|WS_VISIBLE|SS_CENTER,
               CRect(50,80,150,150),
               this);
}

 

调试过程中出现的第一个问题:

error C2664: “CFrameWnd::Create”: 不能将参数 2 从“const char [13]”转换为“LPCTSTR”

出现这个编译器不能的问题,当然可以手动进行转换,只需要在“Hello World”前面加上:LPCTSTR(),将内容放在括号中,进行强制类型转换。其实,这种问题的根本原因是你的字符集没有选择正确,应从Unicode字符集改为多字节字符集。

方法:项目-》属性-》字符集-》使用多字节字符集。

第二个问题是编译的过程中出现:error LNK2019: 无法解析的外部符号 _main。

出现这个问题的原因是工程建的不正确。如果你建的是win32 console工程的话,默认的还是main,而不是winmain,应该建成“win32项目”,而不是“win32 console项目”。

遵循以上两条,编译链接通过。


转自:http://blog.sina.com.cn/s/blog_52ebca1f0100f69f.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值