C++ 文件在一个项目中编译良好,但在另一个项目中编译不好

C++ 文件在一个项目中编译良好,但在另一个项目中编译不好,c++,codeblocks,C++,Codeblocks,我在Code::Blocks项目a中定义了一个大类ClassA。ProjectA编译得很好,但当我尝试在另一个ProjectB项目中使用ClassA时,我开始出现如下错误 C:\ProjectA\ClassA.cpp|17|error: boost/foreach.hpp: No such file or directory| C:\ProjectA\ClassA.cpp|649|error: 'strlen' was not declared in this scope| cstring中的

我在Code::Blocks项目a中定义了一个大类ClassA。ProjectA编译得很好,但当我尝试在另一个ProjectB项目中使用ClassA时,我开始出现如下错误

C:\ProjectA\ClassA.cpp|17|error: boost/foreach.hpp: No such file or directory|
C:\ProjectA\ClassA.cpp|649|error: 'strlen' was not declared in this scope|
cstring中的每个函数也有一个

c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\cstring|76|error: '::memchr' has not been declared|
我将ClassA.h和ClassA.cpp添加到ProjectB中,并将ProjectA文件夹添加到ProjectB中搜索的目录中

我看到问题的答案是类似的错误,但是我不使用C,所以我的项目突然开始尝试编译C是很奇怪的。但是,我不想完全排除这个可能性,所以我也想知道如何检查一个项目是否在C或C++中编译::


到今天为止,使用多个项目中的文件对我来说一直很有效,所以我完全不知道会出什么问题。提前感谢您的回答

听起来像是
ProjectB
有不同的包含路径,请确保它与
ProjectA
相同。通常,您会在外部目录中设置boost。

您可能必须在第二个项目中将boost添加到搜索/链接路径。我将如何处理cstring问题?ProjectB拥有ProjectA拥有的所有包含路径。include路径的差异如何使cstring停止工作?@Eva,这是指foreach include。我不确定memchr的情况。