为什么在构建这个C项目时会出现这些错误?

为什么在构建这个C项目时会出现这些错误?,c,xcode,build,compilation,header,C,Xcode,Build,Compilation,Header,作为XCode项目的一部分,我正在用C编写一些类似的程序。由于这个新程序需要展示一些与第一个工作迭代稍有不同的功能,我认为目标是最好的选择 因此,我尝试创建一个新的目标,并按照我认为正确的方式(在XCode中)通过谷歌搜索how to。但在编译时,我得到了太多的错误 以下是我收到的错误屏幕: 我看到它在加载不同的字符时遇到了问题,所以我确信这可能是一个简单的问题,比如一些丢失的文件。但我不知道该用谷歌搜索什么,所以我希望我这样问没关系 另一方面,有人知道为什么我的第一个程序版本main.c不需

作为XCode项目的一部分,我正在用C编写一些类似的程序。由于这个新程序需要展示一些与第一个工作迭代稍有不同的功能,我认为目标是最好的选择

因此,我尝试创建一个新的目标,并按照我认为正确的方式(在XCode中)通过谷歌搜索how to。但在编译时,我得到了太多的错误

以下是我收到的错误屏幕:

我看到它在加载不同的字符时遇到了问题,所以我确信这可能是一个简单的问题,比如一些丢失的文件。但我不知道该用谷歌搜索什么,所以我希望我这样问没关系

另一方面,有人知道为什么我的第一个程序版本main.c不需要像上面那样包含头文件吗

谢谢

编辑: 以下是来自新目标的代码,它实际上与迄今为止未更改的程序的第一个版本相同:

/*
 *  ScalarProduct.c
 *  Concurrency_Practical1
 *
 *  Created by Chucky on 11/03/2012.
 *  Copyright 2012 __MyCompanyName__. All rights reserved.
 *
 */

#include "ScalarProduct.h"
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

//the final answer
int finalScalarProd;

//random variable
int rand_seed=10;

int rand()
{
    int n;
    n = random()%11;
    //printf("%d\n", n);
    return(n);
}

void* getScalarProduct(void *arg)
{
    //index for loop
    int i;

    //scalarProduct of 10 integers
    int * scalarProd = (int *) arg;

    //my two arrays
    int list1[10];
    int list2[10];

    for (i=0; i<10; i++) {
        list1[i] = rand();
        list2[i] = rand();
        *scalarProd += list1[i]*list2[i];
        printf("%d:\t\t %d\t\t %d\t\t %d\t\t\n", i, list1[i], list2[i], list1[i]*list2[i]);
    }
    return((void*)scalarProd);
}

int main (int argc, const char * argv[]) {
    // insert code here...

    pthread_t t1, t2;
    int sp1= 0, sp2 = 0;

    printf("Index\t List1\t List2\t Product\n\n");

    pthread_create( &t1, NULL, getScalarProduct, &sp1);
    pthread_create( &t2, NULL, getScalarProduct, &sp2);
    pthread_join( t1, NULL);
    pthread_join( t2, NULL);

    printf("\nScalar Products: %d %d\n", sp1, sp2);
    finalScalarProd = sp1 + sp2;


    printf("Result: %d\n", finalScalarProd);

    return 0;
}
/*
*ScalarProduct.c
*并发性实践1
*
*由Chucky于2012年3月11日创建。
*版权所有2012年uu MyCompanyName uuu。版权所有。
*
*/
#包括“ScalarProduct.h”
#包括
#包括
#包括
//最后的答案
国际财务会计准则;
//随机变量
int rand_seed=10;
int rand()
{
int n;
n=随机()%11;
//printf(“%d\n”,n);
返回(n);
}
void*getScalarProduct(void*arg)
{
//循环索引
int i;
//10个整数的scalarProduct
int*scalarProd=(int*)arg;
//我的两个数组
int list1[10];
int list2[10];

对于(i=0;i,从错误中看,似乎您正在混合Objective-C头并使用C编译器进行编译。但仍然很难说清楚。

您的项目正在包括/导入AppKit头,它是ObjectiveC而不是纯C

由于您引用的源代码没有提到它,我敢打赌它是在预编译头中导入的。请检查您的项目的预编译头中是否有此类条目。它将与您的项目一样命名,扩展名为
.pch
。您可能要删除任何ObjectiveC导入


还要检查您的项目中是否使用了ObjectiveC框架。如果有疑问,请从项目中删除所有列出的框架。

如果您希望有人为您指出正确的方向,请认真地将输出复制并粘贴到问题中。错误所指的相关代码也会很好。因为它甚至不会编译,所以没有输出。不知道它是代码的哪一部分,但它是一个小程序,所以我想我会在下面的编辑中粘贴它。^^^^@Chucky Brian指的是编译器的错误消息-截图没有帮助,通常认为复制文本消息更好。我指的是您发布的截图的输出。我怀疑如果您在单击错误旁边的小箭头之前,它们会告诉您问题出在哪里。您缺少了一个
右大括号,或者其他一些简单的语法错误导致了这种混乱(它是级联的).我也会添加这个,虽然它很长,但我似乎在文件目录或XCode本身中都找不到它。它可能在哪里?