C文件无法编译

标签 c swift macos cocoa

我在 OS X 10.10 上的 XCode 6.2 中有一个小型 swift 项目,并向该项目添加了一个小型 C 文件,简化为:

#include <stdio.h>
void function1(unsigned char buf) {}
unsigned char abuf;
function1(abuf);

我无法编译任何版本的 C 文件。上面的具体代码会生成 2 个错误:“类型说明符缺失,默认为 'int'”和“仅在函数定义中允许没有类型的参数列表”

我的假设是该项目在某种程度上没有正确设置来编译 C 文件,但我无法弄清楚缺少什么。 (请注意,最终 C 文件将用于访问外部库,并且已生成当前为空的“project-Bridging-Header.h”文件。)任何人都可以提供帮助吗?

最佳答案

它不是有效的 C,这就是它无法编译的原因。它与 Swift 无关。你声明了一个函数,声明了一个外部变量,然后突然出现了一个看起来像函数调用的东西。

在 C 中,代码只能是函数实现的一部分。

关于C文件无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37642216/

相关文章:

c - 为什么我可以在 32 位而不是 64 位编译它?

c - 为什么我的 printf float 不显示? (初学者)

c - VIDIOC_ENUMINPUT 不返回任何视频标准

swift - 如何正确使用 teodorpatras/SideMenuController?

c - 自旋锁实现 (OSSpinLock)

c++ - OS X 上的 OpenGL 版本支持

cocoa - "EXC_BREAKPOINT (SIGTRAP)"异常是否是调试断点导致的?

c - 如何使用 fread 从文件中读取特定数据?

swift - 'hideUISearchBarWhenScrolling'-属性不作为属性与 tableView 一起使用

ios - 将 UIPageViewController 与快速和多 View Controller 一起使用