初次接触IOS平台的开发,想在XCode 4环境使用boost这个开源库,我用bjam编译好之后,在XCode新建了项目,在build setting里面把boost目录添加到了header search paths里面,但是我在代码里面使用 #include <boost/array.hpp>这样的包含boost的头文件时提示找不到boost/array.hpp,如果换成#include "boost/array.hpp"则可以找到,但是array.hpp里面使用#include <>包含的其他boost库的头文件还是找不到。我想可能还需要其他的设置,由于刚接触XCode这个开发工具,不太熟悉,不知道怎么解决。我的系统是mac雪豹系统,XCode是4.0版本。

解决方案 »

  1.   

    objc,c++混编的源代码需要将文件的后缀由.m改为.mm
      

  2.   

    难道把boost库里的所有文件都改成*.mm
    不可能吧...
      

  3.   

    那当然不会,只是在你引用了boost类的.m里,把.m改为.mm
      

  4.   


    我并没有用混编的情况,发现需要把boost库拷贝到对应的sdk目录下的/usr/include下面才行,但是这个方法貌似只对mac os的项目有效,对于ios的项目还是提示找不到,而且无论是用<>包含还是""包含都找不到,我是复制到xcode安装目录下的Platforms目录中对应的SDK是,不清楚那些SDK是不是IOS平台对应的SDK。
      

  5.   

    1.用boost就肯定是objc++混编
    2.不需要拷贝boost库,只需在搜索头文件的路径中添加boost所在路径即可
      

  6.   

    引用它的头文件和编译出来的.a静态库,把项目改成objective-c++的编译模式即可。