在OC中调用C++第三方库Eigen

来源:互联网 发布:免费上网的软件 编辑:程序博客网 时间:2024/06/11 23:54

因为又一个IOS项目要用到Eigen这个C++库,把.m文件改成.mm文件,总算是可以在OC代码中写C++代码了,先写了几句C++代码试了试,结果编译却不通过,一直因为Eigen/Core文件里的

#ifdef EIGEN_EXCEPTIONS  #include <new>#endif

这一行了,说是找不到new这个文件。我单独写了一个cpp文件,里面#include ,用clang编译,结果却没有报错。所以我认为是xcode的编译选项的事,网上找了找,发现OC和C++混编的时候,需要把BuildSettings里的Complie Source As选项Objective-C++,而不是默认的According to File Type。如果是According to File Type,最后就当成OC文件来编译,那么头文件搜索路径肯定没有C++的头文件路径了,所以就会报错了。在这里记下来,防止以后忘了。