我是这样申明的,但出现N多奇怪错误,不知,是不是这样申明的???
请教。

解决方案 »

  1.   

    pixsupport error LNK2001: 无法解析的外部符号 "public: static class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > CpixsupportDlg::m_str" (?m_str@CpixsupportDlg@@2V?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@A)pixsupport fatal error LNK1120: 1 个无法解析的外部命令
      

  2.   

    问题解决了,是这样解决的,不过偶还是不清楚,请教大家
    原先:
    在.h文件中
    public:
        static CString str;
    .................
    在static函数中用这个变量,结果出现上述错误。
    现在:
    直接在.CPP文件的最上面申明static CString str;
    然后运行,就不出错,结果也是对的。问题是解决了,但偶不清楚是怎么回事,请教大家。
    谢谢~~
      

  3.   

    这个提示好像是你的程序没有MFC支持,你要再编译选项:工程-》设置里选上USing MFC in a shared DLL.还要#include "afxwin.h"
      

  4.   

    在.h文件中声明,你在.cpp文件中初始化该静态对象了吗?
      

  5.   

    应该有MFC支持的,因为我是向导创建的基于对话框的MFC文件,
    在stdafx.h文件中已有#include "afxwin.h"了。
    所以我认为不是这个问题。
      

  6.   

    列一下你出错的class相关定义看看?
      

  7.   

    显然不是MFC支持问题.应该是声明了该静态成员但未定义这样就可以了://h文件
    class A
    {
    public:
        static CString m_str;
    };//cpp文件
    CString A::m_str = _T("");
      

  8.   

    还是不对,又有问题如下:
    i:\Project\pixsupport\pixsupportDlg.cpp(19): error C2438: “m_str” : 无法通过构造函数初始化静态类数据
      

  9.   


    //cpp文件
    CString A::m_str = _T("");这行不是放在构造函数里面.
    这行不放在任何函数体内.