【问题标题】:Link error CString链接错误 CString
【发布时间】:2010-12-03 08:37:39
【问题描述】:

我在使用 CString 时遇到链接器错误,错误是:

error LNK2001: unresolved external symbol "private: static class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > CConfiguration::_campaignFolderPath" (?_campaignFolderPath@CConfiguration@@0V?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@A)

我有一个类被定义为:

class CConfiguration
{
private:
    static CString _campaignFolderPath;

public:
    static void Read();

private:
    CConfiguration(void);
    ~CConfiguration(void);
};

其Read方法定义为:

void CConfiguration::Read()
{
    CConfigFile configReader(_T("Config.ini"));
    TCHAR temp[1024];

    configReader.GetStringValue(_T("Campaigns"), _T("CampaignsFolderPath"), temp);

    _campaignFolderPath = temp;
}

关于是什么导致错误的任何线索?我正在使用 Visual Studio 2008

【问题讨论】:

    标签: c++ mfc linker cstring


    【解决方案1】:

    您需要实例化字符串,您现在只是将其声明为静态。添加:

    CString CConfiguration::_campaignFolderPath;
    

    在实现文件中。

    【讨论】:

      【解决方案2】:

      你在某处有类似下面的实现线吗?

      CString CConfiguration::_campaignFolderPath;

      【讨论】:

        猜你喜欢
        • 2013-02-03
        • 1970-01-01
        • 2023-03-30
        • 2012-12-24
        • 2014-02-13
        • 2014-06-23
        • 2012-02-07
        • 2017-04-03
        • 2012-09-20
        相关资源
        最近更新 更多