我在 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/