我通过cocoapods将一个外部框架添加到我的iOS应用程序中.如何从项目中删除该库?
我是Xcode的新手,当我构建以下代码(MWE)时,我收到以下错误
ld:架构x86_64 clang的3个重复符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我有三个文件如下;
main.cpp中
#include "B.cpp"
int main() {
square(5);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
B.cpp
#include "A.cpp"
void square(int n){
display(n*n);
}
Run Code Online (Sandbox Code Playgroud)
A.cpp
#include <iostream>
using namespace std;
void display(int num){
cout<<num;
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了在堆栈溢出时提到的不同方法,例如将"仅构建活动架构"更改为"是"以及其他一些但错误仍然存在.
我搜索并搜索,无法找到答案.
我将谷歌分析添加到我的项目中.我在使用谷歌分析的同一工作区中有两个项目.我把两者联系起来.在过去,这不是一个问题.但后来我需要添加另一个库,所以我运行"pod update",从那时起我就收到了这个错误.现在,两个位置都是完全相同的文件.
我该如何解决这个错误?(作为子注释,没有导入.m文件,并且pbxproj文件中没有关于此事件的重复库条目)
duplicate symbol _UselessFunctionThatExistsSolelySoThatIDontGetErrorsAboutEmptyLibsF474397331760491295374 in:
/Users/Lena/Dev/workspace/app/myapp/../Pods/GoogleUtilities/Libraries/libGTM_NSData+zlib.a(StaticLibraryEmptySourceFile.o)
/Users/Lena/Dev/workspace/app/Pods/GoogleUtilities/Libraries/libGTM_NSData+zlib.a(StaticLibraryEmptySourceFile.o)
ld: 1 duplicate symbol for architecture x86_64
Run Code Online (Sandbox Code Playgroud) 我不确定我做错了什么.
我将项目文件夹移动到另一个文件夹,并将备份文件夹复制到桌面.
我试图打开备份项目并构建,我收到了链接器错误.
所以我决定删除备份文件夹并将项目文件夹移回桌面.我不能再编译并收到以下错误.
Showing Recent Issues clang: error: linker command failed with exit code 1 (use -v to see invocation)
duplicate symbol _main in:
/Users/BRO/Library/Developer/Xcode/DerivedData/SFITNESS-flzvwdymttxhducvwvmhpuaqfzhj/Build/Intermediates.noindex/SFITNESS.build/Debug-iphonesimulator/SFITNESS.build/Objects-normal/x86_64/main-90EC778DD760FD57.o
/Users/BRO/Library/Developer/Xcode/DerivedData/SFITNESS-flzvwdymttxhducvwvmhpuaqfzhj/Build/Intermediates.noindex/SFITNESS.build/Debug-iphonesimulator/SFITNESS.build/Objects-normal/x86_64/main-F627C2B37F247040.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
1.我打开Derived Data文件夹并删除其中的所有内容
2.我删除了所有模拟器中的所有项目
3.我重新启动了xCode,Clean和build
该链接
我的开发环境Xcode 7.2.1,CocoaPods 1.0.0以及GoogleMaps 1.13.2
我可以成功构建代码以生成XXX.ipa文件并安装在我的iPhone 6 Plus中以正常工作.
但是,当我按项目"iPhone 6"或"iPhone 6 Plus"运行Xcode模拟器时,始终获取如下信息
"用于体系结构x86_64的xxxx重复符号""链接器命令失败,退出代码为1(使用-v查看调用)"
我使用以下解决方案仍然无法修复它
构建选项 - >启用Bitcode - >设置"否"
从其他链接器标志中删除-ObjC
项目Targer - >构建阶段 - >编译源代码,ckeck没有重复文件
确保我没有#imported .m文件
我想知道是否有任何其他方法来解决这个,帮助将不胜感激谢谢.
我最近更新到了较新版本的 Xcode 和 React Native,但我的 Xcode React Native 版本出现重复符号问题。我试图从其他链接器标志中删除 -ObjC,将 No Common Blocks 更改为 No,并确保在“Link Binary with Libraries”中没有链接库两次。之前建议的这些解决方案都没有帮助;因此,任何其他想法将不胜感激。
我正在使用Meteor在Xcode for iOS中编译时出现错误,因为我将Xcode升级到iOS 11并将Meteor升级到1.5.2
流星控制台中的构建运行良好但是当尝试在Xcode上运行时,我收到错误.
以下是详细信息:
duplicate symbol _OBJC_CLASS_$_CDVLogger in:
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Intermediates.noindex/Shotgun.build/Debug-iphonesimulator/Shotgun.build/Objects-normal/x86_64/CDVLogger.o
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Products/Debug-iphonesimulator/libCordova.a(CDVLogger.o)
duplicate symbol _OBJC_METACLASS_$_CDVLogger in:
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Intermediates.noindex/Shotgun.build/Debug-iphonesimulator/Shotgun.build/Objects-normal/x86_64/CDVLogger.o
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Products/Debug-iphonesimulator/libCordova.a(CDVLogger.o)
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我的项目中有这些插件:
cordova-android-support-gradle-release@0.0.2
cordova-custom-config@2.0.3
cordova-plugin-dialogs@1.3.3
cordova-plugin-facebook4@1.9.1
cordova-plugin-inappbrowser@1.7.1
cordova-plugin-meteor-webapp@1.4.2
cordova-plugin-splashscreen@4.0.3
cordova-plugin-statusbar@2.2.3
cordova-plugin-vibration@2.1.5
de.appplant.cordova.plugin.local-notification@0.8.4
org.apache.cordova.dialogs@1.3.1
org.apache.cordova.vibration@2.1.3
Run Code Online (Sandbox Code Playgroud)
我一直在寻找,尝试meteor reset或删除并重新添加ios平台,使用Build Settings等等,但似乎没有解决这个问题......
在构建中查看cordova_plugins.js,我可以看到:
{
"id": "cordova-plugin-console.console",
"file": "plugins/cordova-plugin-console/www/console-via-logger.js",
"pluginId": "cordova-plugin-console",
"clobbers": [
"console"
]
},
{
"id": "cordova-plugin-console.logger",
"file": "plugins/cordova-plugin-console/www/logger.js",
"pluginId": "cordova-plugin-console",
"clobbers": [
"cordova.logger" …Run Code Online (Sandbox Code Playgroud) ios ×5
xcode ×5
objective-c ×2
c++ ×1
clang ×1
cocoapods ×1
cordova ×1
google-maps ×1
ipad ×1
iphone ×1
meteor ×1
react-native ×1
xcode6 ×1