错误:文件末尾没有换行符 [-Werror,-Wnewline-eof]#endif 在我的 IOS 游戏上进行适当加载时

Posted

技术标签:

【中文标题】错误:文件末尾没有换行符 [-Werror,-Wnewline-eof]#endif 在我的 IOS 游戏上进行适当加载时【英文标题】:error: no newline at end of file [-Werror,-Wnewline-eof]#endif when apportable load work on my IOS Game 【发布时间】:2013-07-02 09:51:25 【问题描述】:

我的 cocos2d ios 游戏代码在 Xcode 4.6.2 中编译和运行没有错误,但适当的加载因“文件末尾没有换行符”错误而停止。例如:

在 /Users/james/.apportable/SDK/System/dispatch/dispatch.h:28:sysroot/common/usr/include/stdint.h:42:7 中包含的文件中:错误:末尾没有换行符文件 [-Werror,-Wnewline-eof]#endif

【问题讨论】:

您无法更改该头文件,因此您别无选择,只能删除 -Wnewline-eof 编译器参数。我不知道为什么要使用它。 【参考方案1】:

您可以通过转到“.approj”文件夹中的“configuration.json”,找到该部分来弄乱 Apportable 使用的参数

// Edit this section to add and replace files and parameters to the generated settings for this project.
// If the generated settings for a particular file are incorrect, simply add it here with the settings
// you need and the final build parameters will only included the version specified here.
"add_params": 

并在“flags”数组中添加你想要的标志,像这样

// A list of global compile flags for the project.
// Flags can be either a string, e.g. "-Werror-shadow",
// or a dictionary specifying the flag and the environment
// that it should be used in, e.g.,
// "flag": "-fstack-protector", "env": "TARGET_OS": "android"
"flags": [ "-Wno-four-char-constants", "-Wno-conversion", "-Wno-gnu", "-Wno-pedantic", "-Wno-selector", "-Wno-sign-conversion" ],

对于这个特定的错误,“-Wno-newline-eof”是合适的。

【讨论】:

【参考方案2】:

这真的很奇怪,但是apparantly 你需要在文件末尾有一个尾行!因此,只需打开您正在编译的文件(/Users/james/.apportable/SDK/System/dispatch/dispatch.hsysroot/common/usr/include/stdint.h)并添加一个空行,如果它不存在的话。

【讨论】:

以上是关于错误:文件末尾没有换行符 [-Werror,-Wnewline-eof]#endif 在我的 IOS 游戏上进行适当加载时的主要内容,如果未能解决你的问题,请参考以下文章

为啥我必须费心在每个文件的末尾添加换行符?

“文件末尾没有换行符”日志的意义是啥?

“文件末尾没有换行符”编译器警告

cc1plus:错误:-Werror=literal-suffix:没有选项-Wliteral-suffix

正常shell bash脚本文件最后一行末尾是否应该添加换行符?(应该另起一行)

Set-Content在我的文件末尾添加换行符(换行符,CRLF)