文件在一个项目中编译良好但在另一个项目中编译

时间:2012-01-13 19:25:38

标签: c++ codeblocks

我有一个我在Code :: Blocks Project ProjectA中定义的大类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中搜索的目录。

我看到this问题解决了类似的错误,但我不使用C,所以我的项目突然开始尝试用C编译会很奇怪。但是,我不想完全忽略了这种可能性,所以我也想知道如何检查项目是否在Code :: Blocks中用C或C ++编译。

直到今天,使用来自多个项目的文件一直在为我工作,所以我完全不知道可能出错的地方。提前感谢您的回答!

1 个答案:

答案 0 :(得分:0)

听起来ProjectB有不同的包含路径,确保它具有等同于ProjectA的权限。通常你会在外部目录中设置boost。