Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >OSX10.8.4上的`gem安装动物园管理员-v‘1.4.4’失败(与C99模式相关的错误)

OSX10.8.4上的`gem安装动物园管理员-v‘1.4.4’失败(与C99模式相关的错误)
EN

Stack Overflow用户
提问于 2013-09-12 15:40:30
回答 1查看 1.5K关注 0票数 3

我的系统是OSX10.8.4,执行gem install zookeeper -v '1.4.4'总是得到以下错误:

src/hashtable/hashtable_itr.c:42:1: error: redefinition of a 'extern inline' function 'hashtable_iterator_key' is not supported in C99 mode hashtable_iterator_key(struct hashtable_itr *i) ^ src/hashtable/hashtable_itr.h:36:1: note: previous definition is here hashtable_iterator_key(struct hashtable_itr *i) ^ src/hashtable/hashtable_itr.c:46:1: error: redefinition of a 'extern inline' function 'hashtable_iterator_value' is not supported in C99 mode hashtable_iterator_value(struct hashtable_itr *i) ^ src/hashtable/hashtable_itr.h:45:1: note: previous definition is here hashtable_iterator_value(struct hashtable_itr *i) ^

有没有人知道原因?谢谢!

gem install zookeeper可以安装动物园管理员1.4.6,没有问题。

更新:做CC=gcc-4.6 gem install zookeeper -v '1.4.4'解决了我的问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-12 13:54:10

为了使这个问题得到解答,我想提供一个“适当”的答案。

动物园管理员似乎是要建立在gcc的基础上。

OS或更高版本的Xcode (从4.x版本开始)停止使用gcc作为默认设置,直到他们最终完全放弃gcc的支持。

他们切换到LLVM与clang前端相结合。

解决这个问题的唯一方法就是通过类似于自制的东西来安装gcc --例如;

brew install gcc47

一旦完成,您可以通过提供匹配的CC (和/或CXX)环境变量来指示您的构建/安装过程使用gcc;

CC=gcc-4.7 CXX=g++-4.7

对您的问题的更新是有效的,因为您以前安装了gcc4.6。对于最近安装的OS / Xcode来说,情况可能并非如此,因此我的回答很详细。

当“标准”包没有在OS /Xcode上正确构建或安装时,这些步骤应该是通用的,并且可以使用;只需在安装/配置指令前面加上给定的环境变量即可。

至于你的例子,那就是:

CC=gcc-4.7 CXX=g++-4.7 gem install zookeeper -v '1.4.4'

注意:最有可能的是有较少的侵略性的方法来完成工作,但是没有进一步的尝试和错误,上面提到的通常是针对与clang / gcc不兼容有关的各种奇怪的结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18775968

复制
相关文章
Python对象的实例化
# python对象的实例化 # 代码 ''' __init__ 方法会在类的对象被实例化(Instantiated)时立即运行。这一方法可以对任何你想 进行操作的目标对象进行初始化(Initialization)操作。 ''' class Person: def __init__(self, name): self.name = name def say_hi(self): print('Hello,my name is', self.name) p
benym
2022/07/14
9120
对象如何实例化
平时开发时通过new来构建对象的实例。通过引用变量指向被创建的对象,并使用此引用变量操作对象,在实例化对象的过程中JVM到底发生了一些什么样的行为变化呢,这个问题在日常进行功能开发时可能并没有怎么去关注,本小节来对这部分知识点来进行学习,同时也加强一下对于jvm的认识
在水一方
2022/06/14
1.3K0
iOS对象实例化
如果用的storybord中的tableview的cell直接用dequeueReusableCellWithIdentifier方法就行了 注意dequeueReusableCellWithIdentifier方法是从已经实例化的cell中查找id为textLeftCell的对象并进行拷贝
码客说
2019/10/22
1.6K0
JVM实战 - 对象实例化
Java是面向对象的静态强类型语言,声明并创建对象的代码很常见,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象 在实例化对象的过程中,JVM中发生了什么化学反应呢? (1)下
JavaEdge
2019/02/15
1.3K0
JVM实战 - 对象实例化
Java中的对象都是在堆上分配的吗?
这和我们平时的理解可能有些不同。虚拟机栈一般是用来存储基本数据类型、引用和返回地址的,怎么可以存储实例数据了呢?
Java技术栈
2020/02/21
2.8K0
对象实例化空指针处理
首先创建一个package包,将其Menu类及相关代码放入其中,并在该package包下创建另一个类MenuItem,然后通过构造函数,写入需要运行的对象信息,最后在Menu类中用new***()格式重新将对象实例化。相关代码及结果如下:
算法与编程之美
2023/08/22
1750
对象实例化空指针处理
Java 对象都是在堆上分配内存吗?
来源:LittleMagic jianshu.com/p/8377e09971b8
用户1516716
2019/12/10
1.1K0
Java 对象都是在堆上分配内存吗?
对象实例化与内存布局(深入)
创建对象方式有:new、Class的newInstance()、Constructor的newInst(Xxx)、使用clone()、使用反序列化、第三方库Objenesis;
逍遥壮士
2021/05/24
1.2K0
对象实例化与内存布局(深入)
Python面向对象编程-面向对象的各种姿势及实例化
前面我们讲解了面向对象的基础,没有涉及到一行代码。这些看似很枯燥的概念,其实是非常重要的。如果不能及时理解或掌握,可以慢慢来。
1846122963
2018/07/26
6990
Utility之内核对象的静态实例化
静态实例化,指的是使用VxWorks的宏在编译时(compile-time)声明变量,这样编译器就会为其分配空间,而不是运行时(run-time)再动态申请空间。因此在系统启动过程中,就可以初始化对象了
Taishan3721
2019/07/10
6040
java之子类对象实例化过程
假设现在有这么一个父类: public class Person{ public Person(){} public String name = "tom"; public int age = 1; public int sex = 0; public void showInfo(){ System.out.println(this.name); System.out.println(this.age); System.
西西嘛呦
2020/08/26
1.1K0
Vue 初识vue、实例化vue对象
一.渐进式javascript框架,易用、灵活、高效 官网地址:https://cn.vuejs.org/ 官网有相关介绍和安装方法 image.png 二.实例化vue对象 1. 实例化vue对象:new Vue 2. el:element需要获取的元素,一定是html中的根容器元素 3. data:用于数据的存储,是个对象,内部可以存各种数据 image.png vue-app是根容器 image.png
conanma
2021/11/03
1.4K0
实例化对象不同方式对应的实现
在实例化一个对象过程中,我们看见过很多种方法,比如string类中,可以使用string s1 = “good”,也可以使用 string s2(“good”) 等等,方法有很多,本文就罗列了一下几种实例化对象的方法,以及在类内部实现的过程。
我与梦想有个约会
2023/10/20
1500
实例化对象不同方式对应的实现
详细完整的说说对象实例化过程
对象的实例化过程需要做哪些工作呢?首先 Java 是一门面向对象的语言,类是对所属于一类的所有对象的抽象,对象的所有结构化信息都定义在了类中,因此对象的创建需要根据类中定义的类型信息,也就是类所对应的 class 二进制字节流,所以这就涉及到了类的加载与初始化。其次,对象大多存储在堆内存中,这就涉及到内存的分配。除此之外,还有变量的初始化零值,对象头的设置,在栈中创建对象的引用等等,本文我们来一起详细的分析一下对象的完整实例化过程。
公众号 IT老哥
2022/09/19
7320
详细完整的说说对象实例化过程
java之简单类对象实例化过程
假设现在有这么一个类: public class Person{ public Person(){} String name = "tom"; int age = 1; int sex = 0; public void showInfo(){ System.out.println(this.name); System.out.println(this.age); System.out.println(this.sex);
西西嘛呦
2020/08/26
9310
反射调用方法,实例化对象,字段赋值
准备一个类,有参构造方法,字段,方法都是私有的 public class Car { private String name; private Integer age; private Car(String name, Integer age) { this.name = name; this.age = age; } private void say() { System.out.println("我是一只猫");
秋白
2018/05/24
2.1K0
Java实例化对象过程中的内存分配
在这个类中定义了两个属性和一个方法,当然也是可以定义多和类和多个方法的。 类现在虽然已经定义好了,但是一个类要使用它必须要实例化对象,那么对象的定义格式有一下两种格式:
beifengtz
2019/06/17
1.2K0
【说站】python类如何实例化对象
1、把类看作是定制的数据类型。既然是类型,只能用来表示数据的类型,不能直接用来保存数据。要保存数据,首先需要创建一个类似于这类容器的东西,称为对象(或例子)。通过类别产生对象的过程称为例子。
很酷的站长
2022/11/23
1.4K0
【说站】python类如何实例化对象
基础篇:详解JAVA对象实例化过程
1 对象的实例化过程 对象的实例化过程是分成两部分:类的加载初始化,对象的初始化 要创建类的对象实例需要先加载并初始化该类,main方法所在的类需要先加载和初始化 类初始化就是执行<clinit>方法
潜行前行
2020/12/11
2K0
基础篇:详解JAVA对象实例化过程
点击加载更多

相似问题

Zend framework 2从同一控制器的其他动作中调用动作

10

为什么这个Zend Framework _redirect()调用失败?

32

如何动态加载控制器和动作(Zend Framework + AJAX)?

15

Zend :如何从视图脚本调用控制器动作助手?

12

Zend Framework 3中如何从控制器调用模型

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档