【问题标题】:Build Error: ld: Duplicate Symbol _canVirate构建错误:ld:重复符号_canVirate
【发布时间】:2019-07-06 12:11:15
【问题描述】:

以下是我的构建日志。我已经尝试了所有常见的错误修复解决方案:删除构建文件夹、清理、重新启动 Xcode 等。

Ld build/Debug-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/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 安全性 -framework 系统配置-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 in /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.o collect2:ld返回1退出状态 命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 退出代码 1 失败

【问题讨论】:

标签: ios build compiler-warnings duplicate-symbol


【解决方案1】:

没有代码很难说清楚,所以请发布 canVirate 定义。 通常该错误意味着 canVirate 是在头文件中定义的全局变量。编译器在每个包含标头的模块中创建变量。你应该在 header 中声明 canVirate,但在 SomeModule.m 文件中定义它:

SomeModule.h:

extern int canVirate;

SomeModule.m:

int canVirate = 123;

【讨论】:

    猜你喜欢
    • 2012-05-13
    • 2015-06-15
    • 2016-04-04
    • 2022-07-27
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    相关资源
    最近更新 更多