我在我的Xcode项目中添加了两个文件(takeoff.h,takeoff.c),包括从另一个项目中粘贴一些代码。现在编译成功后,Xcode似乎无法识别新文件。即使所有内容都编译良好,也会忽略来自main.c的调用。发生了什么,我该如何解决?
// main.c
int main()
{
void test(void); // located in takeoff.c JUST IGNORED
}
//takeoff.c
void test(void)
{
print("Printed from takeoff.c"); // no printing nor do breakpoints stop her
{
答案 0 :(得分:2)
更改为:
// main.c
void test(void); // <--- NB: function *prototype*
int main()
{
test(); // <--- NB: function *call*
}
和
// takeoff.c
#include <stdio.h> // <--- NB: missing #include for printf
void test(void)
{
printf("Printed from takeoff.c\n"); // <--- NB: *printf*, not *print*
} // <--- NB: fixed closing brace
(更正标有<---
)
答案 1 :(得分:0)
这不是一个有效的函数调用,只是一个函数声明。
void test(void); // function declaration
将其更改为test();
答案 2 :(得分:0)
确保将.c添加到目标。在xcode 4中,它是ALT-CMD-1
。在“目标成员资格”的右侧,确保选中您的活动目标。否则,一切看起来都在编译,但实际上并没有运行任何东西。