我知道以前有人问过这个问题,但我已经尝试了所有我能找到的方法,但都没有奏效。
我有一个功能齐全的 iOS 应用,现在我想将 AdMob 网络中介与其集成。我已经成功地让 AdMob 正常工作,但 Mediator 需要设置链接器“-all_load”和“-ObjC”(在其他链接器标志中)。果然,如果我在没有它们的情况下构建,则不会显示任何广告,并且在日志中它表示需要设置它们。
问题是我无法使用 all_load 或 ObjC 集成功构建我的应用程序。我读到 ObjC 不是 iOS 应用程序所必需的,但即使没有它,我仍然遇到 all_load 的问题。问题是我收到此错误:
ld:体系结构 armv7 的重复符号 [此处的某些命令] [某些静态库] 和 [相同命令的路径] clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
如果我删除有问题的静态库并重新构建,错误只会转移到我拥有的下一个静态库,依此类推。因为我正在尝试安装广告中介,所以我的应用需要来自不同广告网络的多个静态库。
以下是我尝试过但失败的一些解决方案:
感谢任何帮助解决此问题。
编辑:我的问题的解决方案
事实证明,我唯一没有尝试的是只在实际设备上使用 -ObjC,这似乎对我有用!
EDIT2:没关系,仍然有问题
当被问及是什么静态库导致我出现问题时,我将在下面引用我的评论:
“好吧,我通过排除 all_load 并仅包含 ObjC 让 AdMob 中介在没有任何其他网络的情况下工作,它工作正常,直到我添加了我的第一个网络 Adfonic,它目前与 MobileAppTracking 有冲突,我得到: ld:[path]/Adfonic SDK/libAdfonic.a(Reachability.o) 和 [path]/Objects-normal/armv6/Reachability.o 中的重复符号 _OBJC_IVAR_$_Reachability.reachabilityRef 架构 armv6 clang:错误:链接器命令失败退出代码 1(使用 -v 查看调用)”
我通过删除所有其他广告网络库来了解 Admob Mediator 的基本功能,但在我的第一个第三方网络集成中,我在它与我已实现的跟踪库 MobileAppTracking 之间遇到了另一个冲突。仍在寻找解决“重复符号”的解决方案。
编辑 3
我可以确认,我尝试使用 AdMob 中介程序(AdMob 本身除外)的每个广告网络都无法编译,其中大部分是由于重复符号错误。我不明白这是怎么回事,因为我确定我不是唯一使用 Admob 中介服务的人。
编辑 4
我将在下面引用我的评论:
“我实际上设法让大部分广告网络和库为我工作,我不得不删除编译源下的相当多的引用,但我仍然编译它,仍然使用 -ObjC 和 -全部加载!”
最佳答案
你可以使用 -force_load "path/to/your/libGoogleAdMobAds.a" 而不是 -all_load,这将仅加载您的 libGoogleAdMobAds
关于iOS Admob 网络中介 : Duplicate Symbols Error With all_load and ObjC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343075/
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案
我发现ruby加载路径是一个数组,很多项目都是这样使用的:$:.unshift(File.expand_path("../../lib",__FILE__))可以将本地文件添加到ruby路径数组的前面,方便我们require或者load。所以,我希望知道为什么我们不使用push将文件添加到数组的末尾? 最佳答案 假设您有一个“date.rb”文件(为什么不呢)并且您想要加载这个文件,而不是标准库日期。如果您使用追加,当您调用require'date'时您的文件将永远不会被加载,因为它位于数组的末尾并且标准日期会在之前找到。因此,如果
我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT
我在en:语言环境中有一个字符串display_device:toplay:getplayer冒号给我的错误是cannotloadtranslationsfromC:/DocumentsandSettings/rajg/discoveryaws/branches/internationalization/config/locales/en.yml,expectedittoreturnahash,butdoesnot我怎样才能让它工作? 最佳答案 如果你用这样的引号将它括起来,你可以在你的字符串中转义冒号(和其他“重要”字符):dis
深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据