我正在尝试使用以下库在Xcode中创建一个简单的控制台应用程序:
https://github.com/marstone/ingress-ios/tree/master/s2-geometry
我找到了这个库,但没有找到算法库。
示例代码
#import <Foundation/Foundation.h>
#import "S2Geometry.h"
#include "s2.h"
#include "s2cellid.h"
#include "s2latlng.h"
#include "s2latlngrect.h"
#include "s2regioncoverer.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
S2LatLngRect rect = S2LatLngRect(S2LatLng::FromDegrees(MIN(37.78272, 37.781719), MIN(-121.971427, -121.972007)), S2LatLng::FromDegrees(MAX(37.78272,
37.781719), MAX(-121.971427, -121.972007)));
}
return 0; }
我收到以下错误:
./s2-geometry/s2.h:6:10: fatal error: 'algorithm' file not found
答案 0 :(得分:4)
s2-geometry
库是用Objective-C ++编写的,但是您的示例代码使用的是Objective-C编译器。发生丢失文件的错误是因为algorithm
是Objective-C不可用的C ++标头。
如果您将示例文件的扩展名从.m
更改为.mm
,则您的代码将使用Objective-C ++编译器,错误应该消失。
有关混合Objective-C和Objective-C ++的更多信息,请参阅here。
答案 1 :(得分:0)
我在Xcode项目中遇到此问题。(Xcode版本10.2)。我引用了该链接。Xcode 10 beta 4 - stdlibc++ headers not found并通过更改设置来解决此问题。
Build Settings-> Apple Clang-Language-C ++-> C ++ Standard Library(libc ++)
答案 2 :(得分:0)
根据Gemfield: “构建设置”->“将源编译为”->对象c ++
答案 3 :(得分:0)
仅运行pod安装对我有用