构建错误:ld:重复符号_canVirate
下面是我的构建日志。我已经尝试了所有常见的错误修复解决方案:删除构建文件夹、清理、重新启动 Xcode 等。
LD 构建/调试-iphonesimulator/SquirrelGame.app/SquirrelGame 普通 i386 光盘 /用户/学生/桌面/SquirrelGame setenv MACOSX_DEPLOYMENT_TARGET 10.6 设置环境路径 “/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin” /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -L/用户/学生/桌面/SquirrelGame/build/Debug-iphonesimulator -F/用户/学生/桌面/SquirrelGame/build/Debug-iphonesimulator -F/Users/Student/Desktop/SquirrelGame -filelist /Users/Student/Desktop/SquirrelGame/build/SquirrelGame.build/Debug-iphonesimulator/SquirrelGame.build/Objects-normal/i386/SquirrelGame.LinkFileList -mmacosx-version-min =10.6 -all_load -ObjC -Xlinker -objc_abi_version -Xlinker 2 -weak_framework基础 -weak_framework UIKit -framework CoreGraphics -framework AudioToolbox -framework CFNetwork -framework CoreLocation -weak_framework MapKit -框架 QuartzCore -框架安全 -框架 系统配置-lsqlite3.0 -framework MediaPlayer -framework AVFoundation -framework MessageUI -framework MobileCoreServices -framework AddressBook -framework AddressBookUI -weak_framework GameKit -lz.1.2.3 -framework OpenFeint -o /Users/Student/Desktop/SquirrelGame/build/Debug-iphonesimulator/SquirrelGame.app/SquirrelGame
ld:重复符号 _canVirate /Users/Student/Desktop/SquirrelGame/build/SquirrelGame.build/Debug-iphonesimulator/SquirrelGame.build/Objects-normal/i386/SquirrelGameViewController.o 和 /Users/Student/Desktop/SquirrelGame/build/SquirrelGame.build/Debug-iphonesimulator/SquirrelGame.build/Objects-normal/i386/SquirrelGameAppDelegate.ocollect2:ld返回1退出状态 命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 失败,退出代码为 1
Below is my build log. I've tried all the usual error-fixing solutions: Deleting build folder, cleaning, restarting Xcode, etc.
Ld
build/Debug-iphonesimulator/SquirrelGame.app/SquirrelGame
normal i386 cd
/Users/Student/Desktop/SquirrelGame
setenv MACOSX_DEPLOYMENT_TARGET 10.6
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/g++-4.2
-arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk
-L/Users/Student/Desktop/SquirrelGame/build/Debug-iphonesimulator
-F/Users/Student/Desktop/SquirrelGame/build/Debug-iphonesimulator
-F/Users/Student/Desktop/SquirrelGame -filelist /Users/Student/Desktop/SquirrelGame/build/SquirrelGame.build/Debug-iphonesimulator/SquirrelGame.build/Objects-normal/i386/SquirrelGame.LinkFileList -mmacosx-version-min=10.6 -all_load -ObjC -Xlinker -objc_abi_version -Xlinker 2 -weak_framework Foundation -weak_framework UIKit -framework CoreGraphics -framework AudioToolbox
-framework CFNetwork -framework CoreLocation -weak_framework MapKit
-framework QuartzCore -framework Security -framework
SystemConfiguration -lsqlite3.0
-framework MediaPlayer -framework AVFoundation -framework MessageUI
-framework MobileCoreServices -framework AddressBook -framework AddressBookUI -weak_framework GameKit
-lz.1.2.3 -framework OpenFeint -o /Users/Student/Desktop/SquirrelGame/build/Debug-iphonesimulator/SquirrelGame.app/SquirrelGameld: duplicate symbol _canVirate in
/Users/Student/Desktop/SquirrelGame/build/SquirrelGame.build/Debug-iphonesimulator/SquirrelGame.build/Objects-normal/i386/SquirrelGameViewController.o
and
/Users/Student/Desktop/SquirrelGame/build/SquirrelGame.build/Debug-iphonesimulator/SquirrelGame.build/Objects-normal/i386/SquirrelGameAppDelegate.o collect2: ld returned 1 exit status
Command
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2
failed with exit code 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有代码很难准确地说出,所以请发布 canVirate 定义。
通常该错误意味着 canVirate 是头文件中定义的全局变量。编译器在包含标头的每个模块中创建变量。您应该在标头中声明 canVirate,但在 SomeModule.m 文件中定义它:
SomeModule.h:
SomeModule.m:
It is hard to say exactly without code, so please post canVirate definition.
Usually that error means that canVirate is global variable defined in header file. Compiler creates the variable in every module that includes the header. You should declare canVirate in header, but define it in SomeModule.m file:
SomeModule.h:
SomeModule.m: