日期:2014-05-16  浏览次数:20678 次

请高人来看,编译报错,奇怪

调用了第三方so库

so库需要若干.h文件支持;f1.h f2.h f3.h ....

c++里按照他们的例子引用了 f1.h (f1.h 包含了f2.h)

写完代码在linux里make编译时报错,指到f2.h中,如下
错误:‘long long long’对 GCC 来说太长了

请教,这是什么情况?

代码里只是对so库中的部分接口调用,没有涉及到f2.h

------解决方案--------------------
f1.h 包含了f2.h 啊
------解决方案--------------------
‘long long long’ 有这类型吗?
------解决方案--------------------
把long long 括号起来?
------解决方案--------------------
贴出错误信息
------解决方案--------------------
感觉long long 最好用个long_long什么的表示 分开来宏可能搞错
------解决方案--------------------
引用:
Quote: 引用:

贴出错误信息


错误:‘long long long’对 GCC 来说太长了

到底是 3个long 还是 2个?
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

贴出错误信息


错误:‘long long long’对 GCC 来说太长了

到底是 3个long 还是 2个?


f2.h里是这样定义的
typedef long long INT64;
编译时报错是这样的
错误:‘long long long’对 GCC 来说太长了
确定吗,明明2个怎么报3个? 把这行注释掉看看
------解决方案--------------------
long long long应该是gcc不识别的一个类型,你可以尝试修改成其他类型试试