我正在阅读“开始iPhone 3开发”一书的第12章的教程。当我尝试构建项目时,我收到一个错误。这本书附带了项目文件,因此我浏览了我的Classes目录中的每个文件,并复制并粘贴了示例项目中的代码,以便它们完全相同。这解决了我过去的构建错误。我检查了安装了相同的框架,Other Sources和Resources文件夹中的文件是相同的。不过,当我尝试构建时,我收到以下构建错误:
Ld的 构建/调试-iphonesimulator / GLFun.app / GLFun 正常的i386 cd /用户/ GIN /文档/开发/ GLFun setenv MACOSX_DEPLOYMENT_TARGET 10.5 setenv PATH “/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin” /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk -L /用户/ GIN /文档/开发/ GLFun /编译/调试,iphonesimulator -F /用户/ GIN /文档/开发/ GLFun /编译/调试,iphonesimulator -filelist /Users/gin/Documents/development/GLFun/build/GLFun.build/Debug-iphonesimulator/GLFun.build/Objects-normal/i386/GLFun.LinkFileList -mmacosx-version-min = 10.5 -framework Foundation -framework UIKit -framework CoreGraphics -framework OpenGLES -framework QuartzCore -o /Users/gin/Documents/development/GLFun/build/Debug-iphonesimulator/GLFun.app/GLFun
ld:重复的符号 .objc_class_name_GLFunView in /Users/gin/Documents/development/GLFun/build/GLFun.build/Debug-iphonesimulator/GLFun.build/Objects-normal/i386/GLFunView-7A51E8797CBB3D72.o 和 /Users/gin/Documents/development/GLFun/build/GLFun.build/Debug-iphonesimulator/GLFun.build/Objects-normal/i386/GLFunView-7A51E8797CBB3D72.o
从我所看到的,我的项目与本书提供的项目相同,我可以成功构建和运行。导致此错误的可能仍然有什么不同?
答案 0 :(得分:0)
在两个项目的project.pbxproj文件之间使用diff(1)并查找。
答案 1 :(得分:0)
清理项目然后再试一次,有时会发生奇怪的事情。检查两个项目之间的构建配置,看它们是否有任何差异(构建相同的体系结构,sdk等)。由于您有重复的符号,我的第一个猜测是Clean将解决您的问题。