gpt4 book ai didi

ios - ld : framework not found libpq

转载 作者:太空宇宙 更新时间:2023-11-04 04:20:22 25 4
gpt4 key购买 nike

我正在制作一个 iOS 应用程序,并且必须在没有 Web 服务的情况下连接到 PostgreSQL 数据库(直接连接到数据库)。我从这里开始我的旅程:How to connect to postgresql from ios9

简单地说,它说要遵循以下步骤:

  1. 去找一个 libpq.framework。
  2. 您必须创建一个 C 类型文件(因为 libpq 不是 Obj-c。)作为 C API 来连接 libpq。
  3. 之后创建一个Bridging-Header来连接它。(它Bridging不会自己生成)
  4. 回到你创建的C类型文件
  5. 遵循这个“PostgreSQL C 语言 API”教程,这个教程为我节省了很多时间。(C 已经离我很远了。)
  6. 如果需要,转到build设置 >> 启用位码 >> 是
  7. 确保在设备上对其进行测试。

最后,导致 this project on GitHub女巫我试图跟随,但我坚持这个错误“ld:框架未找到 libpq”

这是我已经尝试让它工作的方法:

  • 从 GitHub 下载整个项目
  • 将下载项目中的“libpq.framework”复制到“MyProject/Contents/Framework/”
  • 将“testPostgreSqlAPI.c”和“testPostgreSqlAPI.h”复制到我在 Xcode 中的项目(Xcode 自动生成了“myProject-Bridging-Header.h”)
  • 在 Xcode 的“常规”选项卡中的“链接的框架和库”中添加了“libpq.framework”
  • 将build设置选项卡中的 header 搜索路径编辑为“$(PROJECT_DIR)/Contents/Frameworks/libpq.framework/Versions/A/Headers”
  • 将build设置选项卡中的库搜索路径编辑为“$(PROJECT_DIR) 递归”
  • 最后,将“libpq.framework”复制到/Library/Frameworks/

在所有这一切之后,我的应用程序在尝试构建之前没有在 Xcode 中显示任何错误,但是当我尝试构建时我收到错误“:链接器命令失败,退出代码 1(使用 -v 查看调用) ”,并在日志中显示错误“ld: framework not found libpq”

附言

这是我的第一个 iOS 应用程序,也是我第一次使用 Mac OS,所以我可能做错了很多事情,我在这方面寻求任何帮助,比如“真的有必要复制‘libpq.framework’到/Library/Frameworks/还是这太荒谬了?”

最佳答案

在阅读了大量有关框架和共享库的内容后,我终于明白了为什么我的应用程序无法运行。 According to this link , [...] 通过将普通动态共享库构建到具有相同名称和 .framework 扩展名的文件夹中来创建一个框架。例如,要创建一个名为 Chaos 的框架,请将一个名为Chaos 在一个名为 Chaos.framework 的文件夹中。[...]”。查看我下载的框架,目录结构如下所示:

libpq.framework
    |_ Versions /
        |_ A /
            |_ libpq
            |_ Headers /
                |_ libpq-fe.h
                |_ pg_config_ext.h
                |_ postgres_ext.h

所以我只是将libpq文件复制到与Versions文件夹相同的级别。我的框架如下所示:

libpq.framework
    |_ libpq
    |_ Versions /
        |_ A /
            |_ libpq
            |_ Headers /
                |_ libpq-fe.h
                |_ pg_config_ext.h
                |_ postgres_ext.h

现在我不再收到标题中描述的错误,我可以继续我的测试

关于ios - ld : framework not found libpq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com