我有一个我在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 ++编译。
直到今天,使用来自多个项目的文件一直在为我工作,所以我完全不知道可能出错的地方。提前感谢您的回答!
答案 0 :(得分:0)
听起来ProjectB
有不同的包含路径,确保它具有等同于ProjectA
的权限。通常你会在外部目录中设置boost。