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++ 静态库 的相关文章

  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 作为!与 Swift 中 Xcode 6.3 中的 as 运算符对比

    Xcode 6 3 使 Swift 发生了很大变化 我必须更换每个应用程序中的数十个位置as gt as 为什么 现在有什么规则 在 Swift 1 2 之前 as运算符可用于执行两种不同类型的转换 具体取决于要转换的表达式的类型及其要转换
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 在 UIScrollview 上显示缩略图的最佳方法是什么(从服务器下载)

    我想在 UIScrollview 如照片应用程序 上显示许多图像 作为缩略图 所有图像将从服务器下载 据我所知 有几种选择 1 通过创建 UIImageviews 然后将它们添加为主滚动视图上的子视图 2 通过子类化一个UIView类 然后
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • 使用 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 文件 现在我创建了一个新项目来测试这一点 我只执行了以下步