这里是我的2源文件:错误大厦C程序
的main.c:
#include <stdio.h>
#include "part2.c"
extern int var1;
extern int array1[];
int main()
{
var1 = 4;
array1[0] = 2;
array1[1] = 4;
array1[2] = 5;
array1[3] = 7;
display();
printf("---------------");
printf("Var1: %d", var1);
printf("array elements:");
int x;
for(x = 0;x < 4;++x)
printf("%d: %d", x, array1[x]);
return 0;
}
part2.c
#include <stdio.h>
int var1;
int array1[4];
void display(void);
void display(void)
{
printf("Var1: %d", var1);
printf("array elements:");
int x;
for(x = 0;x < 4;++x)
printf("%d: %d", x, array1[x]);
}
当我尝试编译程序这是我得到:
Ld /Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Products/Debug/Test normal x86_64 cd /Users/John/Xcode/Test setenv MACOSX_DEPLOYMENT_TARGET 10.7 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -L/Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Products/Debug -F/Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Products/Debug -filelist /Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/Test.LinkFileList -mmacosx-version-min=10.7 -o /Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Products/Debug/Test
ld: duplicate symbol _display in /Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/part2.o and /Users/John/Library/Developer/Xcode/DerivedData/Test-blxrdmnozbbrbwhcekmouessaprf/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main.o for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
我使用Xcode和这两个文件是一个C项目的内部调用Test
是什么原因造成的错误,以及如何解决呢?
首先,学习如何使用[头文件](http://en.wikipedia.org/wiki/Header_file)。 –
我用粗体显示了可能相关的错误信息的唯一部分。 –