Xcode 找不到 C++ 静态库

2024-03-14

所以我之前遇到过一些问题,但我删除了我的旧问题并将其更新为这个问题。事情是这样的:

我想在我的 iOS Swift 项目中使用 C++ 库。在这个社区的帮助下,我将我的库编译为静态库(.a 文件)。现在我创建了一个新项目来测试这一点,我只执行了以下步骤:

1. Create 新的斯威夫特项目

2. Under 构建阶段 -> 将二进制文件与库链接添加我的图书馆(like so https://i.stack.imgur.com/nEOFd.png)

3. Add a 新的 C++ 文件没有头文件并且添加桥接标头内容如下:

//包装器.cpp

extern "C" void test()
{
    //Just to test the swift - c++ connection later this file 
    //shall import the main header of the library.
}

//CAS测试桥接头.h

void test();

但现在,当我编译时我得到这个错误 https://i.stack.imgur.com/3Do3a.png(您还可以在左侧看到我的项目层次结构)。

提前感谢您的所有帮助!


要让 Xcode 找到该库,您至少有两个选择:

  1. 在构建设置下设置库搜索路径。这可能会很混乱,因为您必须确保为正确的架构构建库,例如模拟器或实际设备,并使用适当的路径。

  2. 创建一个新的工作区,将库项目和应用程序项目都添加到工作区中。在应用程序目标的构建阶段中,单击“将二进制文件与库链接”部分中的 + 号后,在弹出的对话框中选择静态库 (.a) 文件。 Xcode 将为正确的架构构建库,并将应用程序与正确的静态库链接起来。

现在,无论您选择上面的选项 1 还是选项 2,构建正确架构的库都可能很棘手。有几点值得尝试:

  • 在 Xcode 中创建外部构建系统项目并使用 makefile 随库源一起提供。 (文件 -> 新建 -> 项目... -> 跨平台。)
  • 在 Xcode 中创建一个 Cocoa Touch 静态库项目。 (文件-> 新建 -> 项目... -> iOS。)您需要添加库 项目的来源。这可能是您最好的选择,如果 库的构建并不太复杂。

还可以选择将 C++ 库源直接包含到 Swift 项目中。

看看这篇文章是否有帮助:编译外部 C++ 库以用于 iOS 项目 https://stackoverflow.com/questions/27016612/compiling-external-c-library-for-use-with-ios-project.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xcode 找不到 C++ 静态库 的相关文章

随机推荐

  • 使用 CMake 进行 Boost 测试 - 未定义的 main

    我在使用 MacPorts 安装的 Boost 在 Mac 上构建一个使用 Boost Test 的小程序时遇到问题 opt local lib 这是我的最小源文件 test cpp define BOOST TEST MODULE MyT
  • 如何更改 Qthread 内 Qtimer 的时间间隔?

    我希望能够更改 QThread 内 QTimer 的间隔时间 这是我的代码 import sys from PyQt5 import QtWidgets from PyQt5 QtWidgets import QApplication QM
  • 计算 pow(a,b) mod n

    I want to calculate ab mod n for use in RSA decryption My code below returns incorrect answers What is wrong with it uns
  • 在 PHP openssl 中加密并在 javascript CryptoJS 中解密

    我正在使用 PHP 加密一些参数 openssl parameter AES 256 ECB client 我想解密CryptoJS CryptoJS AES decrypt parameter client mode CryptoJS m
  • 用图像设计按钮?

    我一直在尝试使用图像来设计提交按钮的样式 我会使用 CSS 但按钮的设计太复杂了 我尝试向按钮添加背景图像 但该图像的位置不正确 我也尝试过使用
  • wxPython 是否有原生的 FlowLayoutManager/FlowSizer/WrapSizer 实现?

    我正在尝试在wxPython 2 8 使用Python 2 7 中编写一个GUI 其中涉及在sizer中布置几个wx StaticTexts 我想要的是一个大小调整器 如果它检测到当前行的宽度比窗口的宽度宽 它会自动将任何附加元素添加到新行
  • 通过一组唯一的列值过滤 SQL 查询,无论其顺序如何

    我在 Oracle 中有一个表 其中包含两列 我想在其中查询包含唯一值组合的记录 而不管这些值的顺序如何 例如 如果我有下表 create table RELATIONSHIPS PERSON 1 number not null PERSO
  • 您可以使用 Python 正则表达式从偏移量开始向后搜索吗?

    给定一个字符串以及该字符串中的字符偏移量 我可以使用 Python 正则表达式向后搜索吗 我试图解决的实际问题是在字符串中的特定偏移量处获取匹配短语 但我必须匹配该偏移量之前的第一个实例 在我的正则表达式只有一个符号长 例如 单词边界 的情
  • Android 抛出 IndexOutOfBound 异常

    我制作了一个Android应用程序 因为数据来自服务器 所以这是一个耗时的过程 所以我创建了一个进度对话框 下面是我的代码 Override protected void onResume super onResume if placesL
  • JQuery UI 删除类动画似乎不起作用

    我正在使用一系列 CSS3 转换 但对于较旧的机器 通过使用 JQuery UI 添加和删除类进行备份 JQuery UI addClass 动画功能齐全 然而 JQuery UI removeClass 并没有设置动画 而是延迟动画时间
  • 读取 SML 中的命令行参数

    我正在尝试读取输入文件的名称 argv 1 这是我到目前为止所做的 val args CommandLine arguments val x y args val agora x 但我不断收到此错误消息 uncaught exception
  • Magento - 从选项值 ID 获取自定义选项值详细信息

    我有一些与产品自定义选项相关的有趣问题 选项和自定义选项之间有什么区别吗 这是因为我在几乎所有与产品相关的模块中为每个产品详细信息找到了两个不同的属性 options custom options 然而 只有一个类只适用于产品选项 它倾向于
  • Respond.JS 在 IE 8 中不工作

    由于某种原因 响应 JS 似乎不起作用 我正在使用 IE 8 中的媒体查询来更改各种尺寸显示器的背景图像 在 IE 8 中没有背景 只有纯色 代码如下所示 媒体查询如下所示 media min width 769px and max wid
  • 如何向 JButton 添加行数未知的多行文本? (动态)[重复]

    这个问题在这里已经有答案了 如何在a上制作文字JButton多行 我读到大多数人都使用 HTML 但是当它是动态的并且您不知道行的大 小或行是什么时会发生什么 现在我按钮上的文本以 而不是创建一条新线 大多数其他方法假设您知道该字符串并且是
  • 线程通过 sysfs 调用内核信号量时出现死锁

    源自这个问题 https stackoverflow com q 17391276 912144 and 我的解决方案 https stackoverflow com a 17443774 912144 我开始意识到可能存在僵局 但我不明白
  • 如何在 ASP.NET Core 应用程序中显示和更新自定义身份字段?

    我使用创建了一个 ASP NET Core 应用程序core 3 1我已经包含了开箱即用的身份验证 我想添加一些自定义字段供我的用户完成 例如Location and Instagram 继此处说明 https learn microsof
  • Cocoa 自定义通知示例

    有人可以向我展示一个带有自定义通知的 Cocoa Obj C 对象的示例吗 如何触发它 订阅它并处理它 implementation MyObject Posts a MyNotification message whenever call
  • objectForKey 和 valueForKey 之间的区别?

    有什么区别objectForKey and valueForKey 我在文档中查找了它们 它们对我来说似乎是一样的 objectForKey is an NSDictionary方法 一个NSDictionary是一个类似于集合类NSArr
  • 在 Next.js 中,如何创建“模态链接”(即更改 URL 并添加组件但不重新渲染整个页面的链接)

    当一个站点有一个对话框时 它通常纯粹用 JS 完成 不涉及 页面 即路由 但是 有时您希望对话框有自己的 URL 以便在用户刷新页面时 他们会返回到对话框打开的页面 在 Next js 中 我已经完成了上述大部分工作 我有一个基本页面路由
  • Xcode 找不到 C++ 静态库

    所以我之前遇到过一些问题 但我删除了我的旧问题并将其更新为这个问题 事情是这样的 我想在我的 iOS Swift 项目中使用 C 库 在这个社区的帮助下 我将我的库编译为静态库 a 文件 现在我创建了一个新项目来测试这一点 我只执行了以下步