我正在try 为iOS编译libcpr个版本.我已经使用CMake和Xcode生成器构建了CPR.这已经生成了一个.xcodeproj
,我已经将其导入(阅读拖放)到我的Xcode项目中.问题出在我try 导入库头时,找不到它们:
// currently with quote notation but also tried with bracket notation
#import "cpr/cpr.h" // NOT FOUND
你可以看到关于我如何在respective github issue中构建项目的更详细的步骤.
我可以看到该子项目不仅包含libcpr的标头,还包含libcurl和zlib的标头(这也是必需的):
我能找到的关于Xcode和库头文件的所有信息似乎都是一些手动步骤,比如复制头文件,这至少很容易出错.另一个选项似乎是修改生成设置中的User Header Search Paths
属性.我try 将User Header Search Paths
和Header Search Paths
设置为指向文件夹:
我try 了其中的许多值:Libraries/**
、$(PROJECT_DIR)/../cpr/build
(我已经添加了libcpr
repo作为子模块,因此这是构建输出文件夹)和许多其他变体.毫无办法.
我目前的进步是Here is the repo美元.要生成构件,请执行以下操作:
- 初始化子模块
-
cd cpr
个 -
mkdir build && cd build && cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64COMBINED -DENABLE_STRICT_TRY_COMPILE=ON -DDEPLOYMENT_TARGET=13.0 -DBUILD_SHARED_LIBS=OFF
个 - 在编译之前,您必须修复一个头文件上的隐式转换(cpr/include/body.h只需在弹出错误的行中添加(Int))
-
cmake --build . --config Release
个
这将生成构件,并且您应该能够从根repo打开iOS
文件夹中的.xcodeworkspace
文件.
如有任何帮助,将不胜感激!