作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
启用 Apple 通用版本控制后,Xcode 会自动生成 MyFramework_vers.c
DERIVED_SOURCES_DIR
中的文件,其中包含定义为 const unsigned char[]
的版本字符串和编号和 const double
.
但是,与 -Wmissing-variable-declarations
启用( -Weverything
的一部分),这会产生警告
no previous extern declaration for non-static variable 'MyFrameworkVersionString'
no previous extern declaration for non-static variable 'MyFrameworkVersionNumber'
-Wno-missing-variable-declarations
到此文件的 cflags extern
变量定义上方的声明 #import
拉入 extern
伞头声明 VERSION_INFO_EXPORT_DECL
设置,它允许我标记变量
extern
,但随后我收到了来自
-Wextern-initializer
的“extern 变量有一个初始化程序”警告,所以这无济于事。)
最佳答案
我不知道有什么方法可以修改此文件的编译器参数,但可以通过滥用 VERSION_INFO_EXPORT_DECL
来解决警告问题。 .将值设置为文字换行符,后跟 #import "HeaderWithExternDeclarations.h"
和另一个文字换行符。在 pbxproj 中,它应该是这样的:
VERSION_INFO_EXPORT_DECL = "\n#import \"MyFramework.h\"\n";
VERSION_INFO_FILE
为带有 .m 扩展名的值,例如 MyFramework_vers.m,以便将生成的文件编译为 Objective-C 源。
VERSION_INFO_EXPORT_DECL = "\n#pragma clang diagnostic ignored \"-Wmissing-variable-declarations\"\n";
关于objective-c - 如何在 Xcode 中更改 MyFramework_vers.c 的编译标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28643930/
启用 Apple 通用版本控制后,Xcode 会自动生成 MyFramework_vers.c DERIVED_SOURCES_DIR 中的文件,其中包含定义为 const unsigned char
我是一名优秀的程序员,十分优秀!