如何在 Xcode 中更改 MyFramework_vers.c 的编译标志?

2024-03-01

启用 Apple 通用版本控制后,Xcode 会自动生成MyFramework_vers.c文件在DERIVED_SOURCES_DIR,其中包含版本字符串和数字,定义为const unsigned char[] and const double.

然而,随着-Wmissing-variable-declarations启用(部分-Weverything),这会产生警告

非静态变量“MyFrameworkVersionString”之前没有外部声明
非静态变量“MyFrameworkVersionNumber”之前没有外部声明

看来可能的解决方案是:

  • add -Wno-missing-variable-declarations到该文件的 cflags
  • add extern声明位于变量定义之上
  • add a #import拉入extern来自伞头的声明

但我不知道如何执行这些操作,因为该文件位于 DerivedSources 中并且不是编译源阶段的成员。我缺少什么?

(我找到了VERSION_INFO_EXPORT_DECL设置允许我标记变量extern,但后来我收到“外部变量有一个初始化程序”警告,来自-Wextern-initializer,所以这没有帮助。)


我不知道修改此文件的编译器参数的方法,但可以通过滥用来解决警告VERSION_INFO_EXPORT_DECL。将值设置为文字换行符,后跟#import "HeaderWithExternDeclarations.h"和另一个字面换行符。在 pbxproj 中,它应该看起来像这样:

VERSION_INFO_EXPORT_DECL = "\n#import \"MyFramework.h\"\n";

如果你想导入包含 Objective-C 的标头,你还需要更改VERSION_INFO_FILE为带有 .m 扩展名的值,例如 MyFramework_vers.m,以便生成的文件被编译为 Objective-C 源代码。

或者,您可以使用相同的技巧插入一个编译指示来禁用警告:

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

如何在 Xcode 中更改 MyFramework_vers.c 的编译标志? 的相关文章

  • 为什么 Objective-C 方法名称的最后一部分必须带有参数(当有多个部分时)?

    在 Objective C 中 您不能声明最后一个组件不带参数的方法名称 例如 以下内容是非法的 void take id theMoney andRun void take id yourMedicine andDontComplain
  • 删除派生数据文件夹后,Xcode 不断重新创建派生数据文件夹

    自动完成功能在 Xcode 6 中不再起作用 我四处搜索 发现删除派生数据文件夹可以解决此问题 每次我删除它时 它都会回来 然后就不会再自动完成了 有什么建议么 Thanks 没关系 我解决了这个问题 我没有声明需要在类内的方法中使用的变量
  • 如何为 NSAttributedString 内的文本设置“隐藏”属性?

    我有一个 Cocoa 应用程序NSTextView控件将其文本保存在NSAttributedString 实际上我相信这是一个NSMutableAttributedString 我可以轻松地在该字符串内的不同字符范围上设置和修改不同的文本属
  • 对成员“buildBlock()”的引用不明确

    我一直在尝试使用 Swift UI 为 iOS 13 制作一个应用程序 但我不断收到这个奇怪的错误 对成员 buildBlock 的引用不明确 无论我做什么 错误都不会消失 我尝试一次对代码段进行注释 以查看哪一部分可能导致了问题 但唯一有
  • 从 iOS 13 开始安排 iOS 后台任务

    我正在实现用于更新数据的BackgroundTasks 框架 但我遇到了以下问题 无法计划刷新App 错误域 BGTaskSchedulerErrorDomain代码 1 空 无法安排数据提取 Error Domain BGTaskSche
  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • Objective-C:int值无故改变

    Objective C 我需要帮助保留 int 的值 无需我的命令 它就在我身上发生变化 最初的问题是 如何声明和保留 int 这在另一篇文章中得到了满足 Objective C 如何声明和保留 int https stackoverflo
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • ios7 navigationController PushViewController 动画错误

    看来我在 navigationController PushViewController 方法中发现了一个错误 为了重新创建它 我采用了示例主详细信息项目并对 didSelectRow method void tableView UITab
  • 自定义 UITableViewCell 选择样式?

    当我点击我的UITableViewCell 当我单击单元格时 背景部分 我的背景图像未覆盖的区域 会变成蓝色 另外 所有的UILabel单击时单元格上的 s 变为白色 这就是我想要的 然而 我不想要的是当我点击它时的蓝色背景 但如果我这样做
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 缺少常规选项卡

    我刚刚切换到使用 Xcode 5 我已经用一些需要更改的其他设置更改了我的应用程序的名称 但是当我执行此操作时 我注意到我的 常规 选项卡丢失了 有谁知道为什么会发生这种情况 只是快速更新如何在 Xcode 8 中执行此操作
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • 推入 UINavigationController 时隐藏 FBFriendPickerViewController 导航栏

    介绍一个实例FBFriendPickerViewController using presentViewController animated completion 非常简单 该类似乎是针对该用例的 但是 我想推送一个实例FBFriendP
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • gcc 与 clang:符号剥离

    gcc 和 AMD Open64 opencc 都有一个 s选项 剥离符号表和重定位信息 到目前为止我还没能在 Clang LLVM 中找到相同的选项 它存在吗 您可以使用stripbinutils 中的实用程序 实际上 llvm ld 有
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009

随机推荐

  • s[i]^=32 如何将大写转换为小写?

    int main string s cout lt lt enter the string lt lt endl cin gt gt s for int i 0 i lt s length i s i 32 cout lt lt modif
  • Clojure 常量的约定、样式和用法?

    在 Clojure 中定义常量的最佳实践有哪些 包括样式 约定 效率等 例如 这是正确的吗 def PI 3 14 问题 Clojure 中常量应该大写吗 从风格上来说 它们应该在一侧还是两侧都有星号 字符 我应该注意哪些计算效率注意事项
  • 安卓白标

    我在一家公司工作 该公司在商店里有这个 foo 应用程序 该应用程序是我们硬件的助手 深受经销商的喜爱 我们确保该名称尽可能通用 以便我们的供应商能够将应用程序作为 他们的应用程序 进行营销 然而 一些经销商确实希望在应用程序上显示他们的确
  • 使用 stanford-nlp 对一些文本进行分块

    我正在使用 stanford core NLP 并使用此行加载一些模块来处理我的文本 props put annotators tokenize ssplit pos lemma ner parse dcoref 是否有一个模块可以加载以分
  • jQuery 使用数据 id 对元素进行排序

    我的 HTML 结构如下 div class clist div div div div div div div div div div div div div div div 我想将它们排序为 div class clist div di
  • 从 Google Sheets API 获取过滤后的数据

    我正在使用 nodeJS 从 google 工作表中获取数据 URL 如下所示 var url https sheets googleapis com v4 spreadsheets sheet key values Sheet2 A1 J
  • 编译与编译树与编译文件之间的区别?

    我试图将我的项目集成到 android studio 中 但在添加依赖项时我有点困惑 我不知道哪一个效果好 我尝试过编译文件树和编译文件 它不适合我 我找到了一些方法 任何人都可以告诉我哪一种适合添加库 仅像 admob 这样的 jar 文
  • ModSecurity CSRF 规则警报

    我已经安装了 Owasp ModSecurity 之后我的应用程序上的所有页面都有此规则警报 ModSecurity Warning Match of eq 1 against ARGS CSRF TOKEN required file e
  • “添加为链接”选项发生了什么?

    为什么是添加现有文件作为链接 http visualstudiohacks com tips options add an existing file to a project without copying it 功能仅适用于托管项目 我
  • 从 url 加载图像

    如何从图像的 url 将图像加载到 UIImage 对象 目前 我正在使用 UIImage FromFile 加载图像 并将图像作为内容包含在内 但我需要能够从另一个网站获取它 image Image UIImage FromFile im
  • GitHub Action:使用 PowerShell 将环境变量传递到 Action 中

    我正在尝试构建一个将在 PowerShell 中运行的工作流程 我正在为我的分支名称设置一个环境 以便在签出不同存储库的步骤中使用 run branchName Env GITHUB REF replace refs heads echo
  • 与需要参数的工厂方法统一

    我想使用需要参数的工厂方法在 Unity 容器中注册类型 这些参数将由统一解析 但只能在运行时解析 工厂方法代码 public static IApp Create IOne ITwo 注册码 container RegisterType
  • 如何将包含 JPanel 的 JScrollPane 视口滚动到特定位置

    我正在尝试创建一个大型游戏板 其中只有一部分在视口中可见 并且希望能够使用箭头键移动视口以查看整个板 现在我有一个 JScrollPane 其中包含一个 JPanel 其中包含图像 文本和其他内容 但这些都是无关紧要的 现在我有一个与 JP
  • 如何使用 Python 3.5.1 从列表中打印多个不连续的值

    我创建了一个列表 并想从列表中选择一些要打印的项目 下面 我只想在索引 0 处打印 bear 在索引 3 处打印 kangaroo 我的语法不正确 gt gt gt animals bear python peacock kangaroo
  • 使用 C++ 线程模拟 pthread_kill

    如何使用 C 线程模拟 pthread kill 函数 我之前问过这个问题 但没有得到回应 thread native handle 函数在这里有帮助吗 所以这个问题的答案是依赖平台相关的功能并使用std thread native han
  • Bash for 循环打印出意外的输出,为什么呢?

    我编写了一个脚本 用于查询 AWS Route53 上的 dns 区域并返回特定服务器的 IP 目的是在启动 CloudFormation 堆栈后运行此脚本 并且该脚本将更新我的本地 ssh config包含更新的服务器 IP 的文件 我想
  • 故事板中的自动布局,如何将子视图的宽度设置为其超级视图的 1/3?

    我知道这可能非常简单 但是 我试图弄清楚如何告诉子视图其宽度需要是其父视图宽度的 1 3 我想在故事板中执行此操作 而不是在代码中 所以情况非常简单 只是 ViewController 视图中的 UIView 如何在故事板中使用自动布局来完
  • 如何保存 pgAdmin 4 中的更改

    我是 postgreSQL 的初学者 有 2 台服务器 我想删除一台 我单击 删除服务器 但是当我退出程序时 我无法保存此更改 并且在重新打开程序时 第二个服务器又回来了 这看起来非常简单 但我找不到任何明显的方法来保存此更改 请帮忙 当您
  • 预测多个单独组的线性回归

    我想预测单个数据框中多个组的线性回归的值 我发现以下博客文章几乎可以满足我需要的一切 https www r bloggers com 2016 09 running a model on separate groups https www
  • 如何在 Xcode 中更改 MyFramework_vers.c 的编译标志?

    启用 Apple 通用版本控制后 Xcode 会自动生成MyFramework vers c文件在DERIVED SOURCES DIR 其中包含版本字符串和数字 定义为const unsigned char and const doubl