如何解决这个编译错误?

时间:2011-12-16 00:15:24

标签: ios linker

我正在创建一个使用mongoose源在iOS设备上运行Web服务器的应用程序。我运行make来制作必要的文件并将它们添加到项目中。它编译得很好但是当它到达链接部分时会抛出以下错误:

ld: duplicate symbol _main in /Users/tyler/Library/Developer/Xcode/DerivedData/iServer-gnfryiiydesjxicyoqsybsqugulz/Build/Intermediates/iServer.build/Debug-iphonesimulator/iServer.build/Objects-normal/i386/main-111B0F2B16D0E565.o and /Users/tyler/Library/Developer/Xcode/DerivedData/iServer-gnfryiiydesjxicyoqsybsqugulz/Build/Intermediates/iServer.build/Debug-iphonesimulator/iServer.build/Objects-normal/i386/main-4AE49C4D6F0286C.o for architecture i386
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

彻底浏览项目文件,确保没有名为 main.m 的2个文件。删除不属于您实际项目的那个。

答案 1 :(得分:0)

不熟悉mongoose,但项目通常有测试库的测试应用程序。这可能是被链接的额外main()的来源。就像WrightsCS所说,它可能在main.m文件中,但如果没有,则搜索main(