XCTest 测试 C 函数构建失败
Posted
技术标签:
【中文标题】XCTest 测试 C 函数构建失败【英文标题】:XCTest test C function build Failed 【发布时间】:2015-12-25 15:38:41 【问题描述】:我写了一个 C 函数,当我想在 Xcode 中使用 XCTest 测试这个函数时,得到一个错误。
List.h
有一个函数定义。
#ifndef List_h
#define List_h
#include <stdio.h>
List initList();
#endif /* List_h */
Test.m
代码
#进口
#include "List.h"
@interface ListTest : XCTestCase
@end
@implementation ListTest
- (void)testExample
initList();
@end
当我按下 command + U 时,构建失败!
错误信息:
Undefined symbols for architecture i386:
"_initList", referenced from:
-[ListTest testExample] in ListTest.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
帮助,谢谢。
【问题讨论】:
【参考方案1】:我找到了原因。
我需要将实现文件(*.c 文件)添加到单元测试目标中,以便编译进去。仅包含标头是不够的。
【讨论】:
如果你必须在你的测试目标中包含一个实现文件,你的东西设置不正确。我刚刚创建了一个全新的项目,并且能够从我的测试中调用我的 C 函数,没问题。以上是关于XCTest 测试 C 函数构建失败的主要内容,如果未能解决你的问题,请参考以下文章