在 macOS 项目中使用不带 CocoaPods 的 libxlsxwriter

Use libxlsxwriter without CocoaPods in a macOS project

我的项目(Objective C、macOS、Xcode 11)不使用 CocoaPods,我想保持这种状态。

我想使用 libxlsxwriter 以 Excel 格式导出数据。我从 GitHub 克隆了 libxlsxwriter 并构建了它。现在我有 libxlsxwriter.albixlsxwriter.dylib

到目前为止我尝试了什么:我按照 this site 上的说明(感谢 link)来包含 dylib。在 "General" 设置中 lbixlsxwriter.dylib 显示为 "Embed & Sign",在 "Build Phases" 中它列在 "Link Binary With Libraries" 下并且它有自己的 "Copy Files" 部分。 运行 来自 Xcode 给我

dyld: Library not loaded: /usr/lib/libxlsxwriter.dylib
  Referenced from: /Users/XXX/Library/Developer/Xcode/DerivedData/XXXefxsacdsioejobcumpvsbklqguri/Build/Products/Debug/XXX.app/Contents/MacOS/XXX
  Reason: image not found

我必须向我的项目添加什么:包含所有头文件和这两个库的 include 文件夹?我必须如何调整常规设置和构建阶段?

如果你有静态库并且只有一个加载器,例如。 main 可执行文件,(所以你不需要在你的组件之间共享它),那么你根本不需要动态库。

只需将您的 libxlsxwriter.a 添加到 Target > General > Frameworks and Libraries 部分,它就会链接到您的可执行文件中并正常工作。

如果你真的需要共享动态库那么你需要使用rpath + LD_RUNPATH_SEARCH_PATHS组合。 (如果您需要更多详细信息,请告诉我)。