【问题标题】:Use libxlsxwriter without CocoaPods in a macOS project在 macOS 项目中使用没有 CocoaPods 的 libxlsxwriter
【发布时间】:2019-12-07 17:40:54
【问题描述】:

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

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

到目前为止我尝试了什么:我按照 this site 上的说明(感谢链接)包含 dylib。在“常规”设置中,lbixlsxwriter.dylib 显示为“嵌入和签名”,在“构建阶段”中,它列在“使用库链接二进制文件”下,并且有自己的“复制文件”部分。从 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

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

【问题讨论】:

标签: objective-c macos cocoapods libxlsxwriter


【解决方案1】:

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

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

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

【讨论】:

  • 这就是我所做的。我将 libxlsxwriter.a 和头文件添加到我的项目中,它可以工作。谢谢。
猜你喜欢
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2016-04-08
  • 2013-11-03
  • 1970-01-01
相关资源
最近更新 更多