0

我试图在我的 cpp 文件中包含 CString,但如果我包含 afxinet.h,则会收到此错误

“windows.h 已经包含 afxv_w32.h”

这些是我的头文件:

#include stdafx.h

#include shlwapi.h

#include Tlhelp32.h

#include 钩子.h

#include stdio.h

#include common1.h

#include SafeLogger.h

#include io.h

#include tinyxml.h

#包括winsock.h>

#pragma 注释(lib,“Ws2_32.lib”)

#include afxinet.h

我没有在堆栈中包含要在此处显示的守卫。

如何解决此问题并在我的文件中包含 CString

4

3 回答 3

2

afxinet.h如果你愿意,你为什么要添加CString

您应该包括atlstr.hget CString- 特别是如果您的项目不是基于 MFC 的。

于 2013-01-24T06:34:11.977 回答
1

在 C++ 设置中使用/showIncludes选项(在高级下)。这将显示如何包含标题(以树格式)。作为另一个建议,您应该只包含需要的文件。

于 2013-01-24T06:27:38.550 回答
0

通过包含 <afx.h>,您应该能够在 cpp 文件中使用 CString 类。

#include <afx.h>
#include <iostream>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    CString str("Santosh");
    wcout << LPCTSTR(str) << endl;
    return 0;
}

Additionally, you will need to define _AFXDLL preprocessor 
于 2013-01-24T06:35:52.473 回答