应项目需求用到了海康的SDK,把遇到的问题整合一下。
1.#include <queue.h> file not found
SDK中用了C++混编,由于Xcode10中不支持的旧“libstdc++”库,首先将项目TARGETS里的C++ Standard Library改为libc++
解决方法: Build Setting->C++ Standard Library->libc++,如图:

再将#include <queue.h>改为#include <queue>

2.遇到如下图问题

Framework Search Paths: 海康Demo中没有../lib/Dynamic 删掉即可
Library Search Paths: 清空重新引入海康Demo提供的lib文件夹即可
3.集成到自己项目中的时需要把Bitcode 设置为NO
4.缺少libstdc++.6.0.9.tbd,需要引入,由于Xcode10不再支持libstdc++。
解决方法: 将Xcode 9中的libstdc++.6.0.9库文件加到Xcode 10中并引入
这里百度盘提供一份,链接: https://pan.baidu.com/s/1zfkzkDNnkSJCt8Yb4e_xZA 提取码: 1dbh
Xcode10 真机存放路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
之后在Build Phases -> Link Binary With Libraries中添加引入
以上处理后Demo可在真机上运行。
5.Xcode 10.1 以上需将SWIFT_VERSION 修改

6.编译报Assigning to 'int' from incompatible type 'id'
将报错的地方 调用intValue 转换一下即可
网友评论