头正确的,但标识符没有找到 [英] Header correct, but identifier not found

查看:117
本文介绍了头正确的,但标识符没有找到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个项目(64)。

A 。用C写的(wxWidgets的)---编辑:它在C ++

。用C ++编写

A 编译罚款,但(使用功能的 A )当我尝试编译给出了一些错误。

我建议,针对这些错误的原因是都是一样的,所以我只提的第一个。
它说:

 的strlen:标识符没有找到

在这使错误消息(wxcrtbase.h)的文件中,下面标头包括:

 的#include<&stdio.h中GT;
#包括LT&;&string.h中GT;`

从文件中的包括下列头的 A

 的#includeWX / wx.h
#包括WX / dcbuffer.h
#包括WX / spinctrl.h

所以,现在,我不知道从哪里开始寻找错误的原因。可能是因为我有C和C ++文件?也许是我编为64?

感谢您的帮助!

编辑:更多信息结果
围绕一个生产第一条错误消息wxcrtbase.h线路是:

 的#ifdef __cplusplus
内联为size_t wxStrlen(为const char * S){返回小号? wxCRT_StrlenA(S):0; }
内联为size_t wxStrlen(常量为wchar_t * S){返回小号? wcslen(S):0; }

的顺序wxcrtbase.h包括为

 的#include<&stdio.h中GT;
#包括LT&;&string.h中GT;
#包括LT&;&文件ctype.h GT;
#包括LT&;&wctype.h GT;
#包括LT&;&time.h中GT;
#包括LT&;&io.h GT;

在/ showIncludes列出了下列(我停止与列表中的前两个错误消息后):

  1 GT;编译...
1> widget.cpp
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\拉玛的\\ src \\ widget.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包含字符串
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ istream的
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包含ostream的
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ IOS
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ xlocnum
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ climits
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ yvals.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ sal.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ codeanalysis \\ sourceannotations.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtassem.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ vadefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ use_ansi.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ limits.h中
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ cstdio
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ stdio.h中
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ swprintf.inl
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ cstdlib
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\文件stdlib.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\流缓冲
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包括xiosbase
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ xlocale
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包含的CString
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX \\ string.h中
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX /的defs.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / platform.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ setupp.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / version.h中
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / cpp.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / cpp.h
1>注意:包括文件:M:/ Visual Studio 2008中/项目/一般/ wxWidgets的-2.9.0 / lib中/ vc_lib / mswud / WX / setup.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / MSW / libraries.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / chkconf.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / MSW / chkconf.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / version.h中
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / dlimpexp.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ STDDEF.H
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / debug.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ ASSERT.H
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / chartype.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / platform.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ TCHAR.H
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ wchar.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ wtime.inl
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / cpp.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / windowid.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / MSW / winundef.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / features.h
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX \\ string.h中
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ STDARG.H
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / wxcrtbase.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ io.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包括cctype
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\文件ctype.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包括cwctype
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ wctype.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包含的ctime
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ time.h中
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ crtdefs.h
1>注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ time.inl
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / chartype.h
1> M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / wxcrtbase.h(705):错误C3861:'strlen的':标识符找不到
1> M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX / wxcrtbase.h(718):错误C3861:'_strdup':标识符找不到


解决方案

有几件事情来尝试和/或答案:


  • 您可以发布至少几行周围,包括编译器生成错误未找到标识的人吗?

  • 当你说你有一个的#include<文件string.h> 行,到底是哪文件(S)和它precede各种 WX 包括?

  • 您可发布包含头文件的输出,当你用了 / showIncludes 选项(它在VS 2008 IDE的C ++项目的属性页的C / C ++ /高级/显示包括)?


编辑,用新信息:

根据,包括从 / showIncludes 更完整的上市所做的编辑,看来你可能有包含路径设置不正确。下面是从日志几行:

  1 GT;注意:包括文件:C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\ \\包括的CString
1>注意:包括文件:M:\\ Visual Studio 2008的\\项目\\一般\\的wxWidgets-2.9​​.0 \\包括\\ WX \\ string.h中

在MSVC的CString的头正试图包括文件string.h ,它正加速从文件string.h 头在 WX 库,而不是一个最编译器发布的一部分(这将是 C:\\ Program Files文件(x86)的\\微软的Visual Studio 9.0 \\ VC \\包括\\ string.h中)。

我不知道为什么 WX 库会说出自己的头一个文件string.h (而不是,比方说, wxString.h ),但我认为,它的目的是通过使用类似某人被拾起:

 的#includeWX / string.h中

不管怎样,我想你会通过确保MSVC的include目录是任何其他目录之前,包含搜索路径解决您的问题。

I have two projects (x64).

A. Written in C (wxWidgets) --- edit: its in C++!

B. Written in C++

A compiles fine, but B (which uses functions of A) gives several errors when I try to compile.

I suggest that the reason for the errors is the same for all, so I mention only the first. It says:

strlen: identifier not found

In the file which gives the error messages ( wxcrtbase.h ), the following headers are included:

#include <stdio.h>
#include <string.h>`

The files from B include the following headers from A:

#include "wx/wx.h"
#include "wx/dcbuffer.h" 
#include "wx/spinctrl.h"

So, currently, I have no idea where to start to search for the reason of the errors. May it be that I have C and C++ files? Maybe that I compiled for x64?

Thanks for help!

edit: more info
the lines in wxcrtbase.h around the one producing the first error message are:

#ifdef __cplusplus  
inline size_t wxStrlen(const char *s) { return s ? wxCRT_StrlenA(s) : 0; }  
inline size_t wxStrlen(const wchar_t *s) { return s ? wcslen(s) : 0; }  

The order of the includes of the wxcrtbase.h is

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <wctype.h>
#include <time.h>
#include <io.h>

The /showIncludes lists the following ( I stop with the list after the first two error messages ):

1>Compiling...
1>widget.cpp
1>Note: including file: m:\visual studio 2008\projects\general\rama\src\widget.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include \string
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ostream
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ios
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xlocnum
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\climits
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\yvals.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\sal.h
1>Note: including file: c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtassem.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vadefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\use_ansi.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\limits.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstdio
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\stdio.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\swprintf.inl
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstdlib
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\stdlib.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\streambuf
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xiosbase
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xlocale
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstring
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx\string.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/defs.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/platform.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\setupp.h
1>Note: including file: m:\visual studio 2008\projects\general\wxwidgets-2.9.0\include\wx/version.h
1>Note: including file: m:\visual studio 2008\projects\general\wxwidgets-2.9.0\include\wx/cpp.h
1>Note: including file: m:\visual studio 2008\projects\general\wxwidgets-2.9.0\include\wx/cpp.h
1>Note: including file: M:/Visual Studio 2008/Projects/general/wxWidgets-2.9.0/lib/vc_lib/mswud/wx/setup.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/msw/libraries.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/chkconf.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/msw/chkconf.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/version.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/dlimpexp.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\stddef.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/debug.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\assert.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file:  M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/chartype.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/platform.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\tchar.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\wchar.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\wtime.inl
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/cpp.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/windowid.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/msw/winundef.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/features.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx\string.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\stdarg.h
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/wxcrtbase.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\io.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file:  C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cctype
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ctype.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cwctype
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\wctype.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ctime
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\time.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\time.inl
1>Note: including file:  M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/chartype.h
1>M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/wxcrtbase.h(705) : error C3861: 'strlen': identifier not found
1>M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx/wxcrtbase.h(718) : error C3861: '_strdup': identifier not found

解决方案

A few things to try and/or answer:

  • Can you post at least the few lines around and including the one that the compiler generates the 'identifier not found' error?
  • When you say you have an #include <string.h> line, exactly which file(s) and does it precede the various wx includes?
  • Can you post the output of the included headers when you build with the /showIncludes option (it's in the VS 2008 IDE's C++ project property page under "C/C++/Advanced/Show Includes")?

Edit, with new information:

Based on the edit you made that included a more complete listing from /showIncludes, it appears that you might have the INCLUDE path set incorrectly. Here are a couple of lines from the log:

1>Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstring
1>Note: including file: M:\Visual Studio 2008\Projects\general\wxWidgets-2.9.0\include\wx\string.h

When MSVC's cstring header is trying to include string.h, it's picking up a string.h header from the wx library instead of the one that's part of the compiler distribution (which would be in C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string.h).

I'm not sure why the wx library would name one of their own headers string.h (instead of, say, wxString.h), but I assume that it's intended to be picked up by someone using something like:

#include "wx/string.h"

Regardless, I think you'll fix your problem by making sure that the MSVC include directory is in the INCLUDE search path before any other directory.

这篇关于头正确的,但标识符没有找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆