我在程序中使用了crc。在ViewController.mm
ViewDidLoad
方法代码如下:xcode c代码编译错误
char *testChars = "test chars";
crc32(0, (unsigned char*)testChars, strlen(testChars));
crc32
功能代码如下:
uint32_t crc32 (uint32_t crc, unsigned char *buf, size_t len)
{
unsigned char *end;
crc = ~crc;
for (end = buf + len; buf < end; ++buf)
crc = crc32_table[(crc^*buf) & 0xff]^(crc >> 8);
return ~crc;
}
编译错误是:
Undefined symbols for architecture x86_64,"crc32(unsigned int, unsigned char*, unsigned long)", referenced from:-[ViewController viewDidLoad:] in ViewController.o
。
我将ViewController.mm
更改为ViewController.m
后,编译成功。为什么?
您的标题不匹配的标签。 C还是C++? – user2079303