2012-01-13 113 views
0

我有一个大的类ClassA,我在一个代码::块项目ProjectA中定义。项目A编译罚款,但是当我尝试在不同的项目项目B使用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| 

也对这些为每个函数之一为c_string

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中编译会很奇怪。但是,我不想完全排除这种可能性,所以我也想知道如何检查一个项目是用C或C++在Code :: Blocks中编译。

使用来自多个项目的文件直到今天一直在为我工作,所以我完全丧失了可能出错的地方。预先感谢您的答案!

+0

您可能需要在第二个项目中添加Boost以搜索/链接路径。 – Pubby 2012-01-13 19:28:40

+0

我该如何处理cstring问题? – Eva 2012-01-13 20:17:30

回答

0

听起来像ProjectB有不同的包含路径,请确保它具有相当于ProjectA。通常你会在外部目录中设置提升。

+0

ProjectB具有ProjectA拥有的所有包含路径。包含路径的差异会如何使cstring停止工作? – Eva 2012-01-13 21:34:22

+0

@Eva是在参考foreach包括。我不确定memchr。 – 2012-01-13 22:05:19

相关问题