【问题标题】:Delphi IOS linker error library not foundDelphi IOS链接器错误库未找到
【发布时间】:2018-11-19 17:49:27
【问题描述】:

我正在尝试在 Delphi IOS 中使用需要库的第三方框架。为了让 Delphi 链接它,我输入了以下语句:

procedure StubProc1; cdecl; external 'AerServSDK.a' dependency 'libxml2.2';

当我构建它时,我收到以下错误:

[DCC Error] E2597 ld: library not found for -llibxml2.2

该库位于 usr\lib 目录中,我尝试使用哪个库并不重要。显然一些搜索路径需要更新,但是在哪里以及如何?

【问题讨论】:

  • 你确定你还需要包含依赖项吗?
  • 顺便说一句,您是否将 -ObjC 传递给链接器标志?使用 Delphi Tokyo 10.2.3(应用了 iOS 11 补丁)尝试将 AerServSDK(没有“依赖关系”)与 iOS 11.3 SDK 链接会导致一堆“侏儒”错误
  • 我正在通过 -ObjC,是的,我遇到了同样的错误。
  • 可以链接吗?
  • 不,因为我有这些错误。我还没有调查它们为什么会发生

标签: ios delphi hyperlink


【解决方案1】:

解决方案是,省略库名称的“lib”部分。所以它是:

procedure StubProc1; cdecl; external 'AerServSDK.a' dependency 'xml2.2';

【讨论】:

    【解决方案2】:

    您必须在项目的源路径中添加库的路径(就像使用 .pas 文件一样)。

    添加这些 2 行:

    procedure StubProc1; cdecl; external 'AerServSDK.a';
    procedure StubProc2; cdecl; external 'libxml2.2';
    

    AerServSDK.alibxml2.2(即:文件 libxml2.2 没有任何扩展名)必须在您的源路径中

    【讨论】:

    • 我也尝试将库复制到我的项目目录。不工作
    • 我编辑了答案,如果可行,你可以试试这样吗?
    猜你喜欢
    • 2011-12-14
    • 2014-01-02
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多