2

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

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

到目前为止我尝试了什么:我按照本网站上的说明(感谢链接)包含 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

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

4

1 回答 1

1

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

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

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

于 2019-12-17T12:28:42.663 回答