源码编译报错
‘壹’ 使用Cygwin编译android源码报错:unknown OS: CYGWIN_NT-6.3
修改D:\cocos2d\cocos2d-2.1beta3-x-2.1.0\template\android目录下的build_native.sh文件:
添加NDK路径如下:
在检查NDK_ROOT是否存在的代码
if [ -z "${NDK_ROOT+aaa}" ];then
echo "please define NDK_ROOT"
exit 1
fi
修改后在cygwin中进入到
D:\cocos2d\cocos2d-2.1beta3-x-2.1.0\template\android
执行./build_native.sh命令 就可以了
另外注意:在配置cygwin的NDK环境变量时候,变量名最好写成NDK_ROOT
‘贰’ ubuntu 11.10 编译android源码报错
使用命令 which jar
看结果是不是在你安装的路径下,如下:
/home/apuser/opt/jdk1.6.0_30/bin/jar
如果没有,或者它在别的目录下,使用sudo update-alternatives --config jar
如果是通过手动安装java的你只要将JAVA_HOME 配置好
同时将$JAVA _HOME/bin 添加到PATH路径下。
希望对你有帮助
‘叁’ 编译Android5.1源码报错
再电脑上查看android源码,需要搭建android开发环境:1、jdk下载并安装2、Eclipse编译器下载安装,并安装ADT插件和androidSDK待编译环境搭建完成,导入android工程源码,就可以顺利打开了!
‘肆’ 编译C++的源码时遇到问题:error:‘B’does not name a type.
XXX应该是一种用户定义的数据类型,而由于没有声明或者拼写错误或者与关键词重名,导致编译有错,出现类型错误。
在一个源文件中,要声明或定义一个类的指针时,必须在使用前声明或定义该类,因此下面的代码会报错:class A{public: B *b;};class B{public: A *a;};int main(){ return 0;}12345678910111213141516
报错为“error: ‘B’ does not name a type”,就是因为在A类中使用B *b之前没有声明或定义B类,如果在第一行加上一句前置声明(forward declaration)“class B;”,就不会有这样的问题了。
而在头文件互相包含时,也会引发“error: ‘xxx’ does not name a type”,其报错原因和上面的代码是相同的,请看下面的代码:a.h:
#ifndef A_H_INCLUDED#define A_H_INCLUDED#include "b.h"class A{public: B *b;};#endif // A_H_INCLUDED123456789101112
b.h:#ifndef B_H_INCLUDED#define B_H_INCLUDED#include "a.h"class B{public: A *a;};#endif // B_H_INCLUDED123456789101112
main.cpp:#include "a.h"#include "b.h"int main(){ return 0;}1234567
编译就会报错:“error: ‘A’ does not name a type”。
预处理命令为“gcc -E -o a.i a.h”:
# 1 "a.h"# 1 "<built-in>"# 1 "<command-line>"# 1 "a.h"# 1 "b.h" 1# 1 "a.h" 1# 5,"b.h" 2class B{public: A *a;};
# 5 "a.h" 2class A{public: B *b;};。

(4)源码编译报错扩展阅读:
C++语言中定义了丰富的运算符,如算术运算符、关系运算符、逻辑运算符等等,有些运算符需要两个操作数,使用形式为
<操作数1>运算符<操作数2>
这样的运算符称为二元运算符(或二目运算符)。另一些运算符只需要一个操作数,称为一元运算符(或单目运算符)。
运算符具有优先级与结合性。当一个表达式包含多个运算符时,先进行优先级高的运算,再进行优先级低的运算。如果表达式中出现了多个相同优先级的运算,运算顺序就要看运算符的结合性了。所谓结合性,是指当一个操作数左右两边的运算符优先级相同时,按什么样的顺序进行运算,是自左向右,还是自右向左。
例如,我们熟悉的算术表达式6+5-2中,“+”、 “-”是同级运算符,那么是先算5-2,还是先算6+5?这就取决于算术运算符的结合性。由于算术运算符的结合性为自左向右,所以应先算6+5,然后再算11-2。
‘伍’ Spring源码编译报错(执行命令gradlew build)spring 版本为3.2.9 release,求大牛指教
当程序编译不成功时,就会发生一些错误,包括语法错误、运行时错误和逻辑错误。
一、语法错误。
不正确地创建代码时就会出现语法错误,包括错误地输入关键字,遗漏了必要的标点符号或者不正确的结构。
Visual Basic包含有【自动语法检测】选项,可以在用户编写程序时检测和更正语法错误。如果使用了这个选项,Visual Basic就会在用户输入程序时解释这个程序。当它发现错误时,就会加亮显示这个程序代码并显示一个消息框来解释原因和提供帮助。这样用户就可以在继续编程之前更正错误。
设置【自动语法检测】的步骤如下:
1.打开【工具】菜单
2. 单击【选项】命令
3. 选择【编辑器】页面
4. 将【自动语法检测】勾上。
二、运行时错误。
当程序语句试图执行一条不可能执行的操作时,就会发生运行时错误。
常见的运行时错误是试图从一个不存在的文件中读取数据,另一个是试图执行被零除的操作。
在用户的程序中为这些错误提供出错处理函数和错误处理例程是很重要的。
三、逻辑错误。
当应用程序不能按期望的方式执行时会发生逻辑错误。这些错误是很难发现的。因为应用程序的语法完全合法,运行时也不执行非法操作,但是仍然会产生错误。这类错误通常不会产生出错消息。验证应用程序执行的唯一方法就是测试它并分析运行结果。
‘陆’ android6.0.1源码编译报错如下,求教
有什么编译的错误,可以贴出具体的log信息,看看具体是哪里出错了
‘柒’ 复制源码arino编译出错
你这是从哪复制的?里面还有网页代码,肯定会出错的。
/*如果避障响应方向不对修改固定值即可如:1600变1400,1400变1600*/
unsigned int distance_Q, distance_H, distance_Z, distance_Y;
/*以下为传感器引脚定义*/
const int CSB_Q = 0, CSB_H = 1, CSB_Z = 2, CSB_Y = 3;
#include<Servo.h>//Arino Nano 2;3(Pin)
const int AIL_PWM = 2;//中断输入
const int ELE_PWM = 3;//中断输入
const int LED_PIN = 13;//LED灯
unsigned long RC_AIL_PulseStartTicks, RC_ELE_PulseStartTicks;
volatile int RC_AIL, RC_ELE;
unsigned int OUT_AIL, OUT_ELE;
unsigned int AIL_MIN = 1000, AIL_MAX = 2000;
unsigned int ELE_MIN = 1000, ELE_MAX = 2000;
Servo AIL; Servo ELE;
/*以下为滤波定义*/
#define FILTER_N 5
/*********************************/
void RC_AIL_Void()//AIL中断程序
{
if (digitalRead( AIL_PWM ) == HIGH)
RC_AIL_PulseStartTicks = micros();
else
RC_AIL = micros() - RC_AIL_PulseStartTicks;
}
void RC_ELE_Void()//ELE中断程序
{
if (digitalRead( ELE_PWM ) == HIGH)
RC_ELE_PulseStartTicks = micros();
else
RC_ELE = micros() - RC_ELE_PulseStartTicks;
}
void setup()
{
attachInterrupt(0, RC_AIL_Void, CHANGE);
attachInterrupt(1, RC_ELE_Void, CHANGE);
AIL.attach(10);
ELE.attach(11);
pinMode(AIL_PWM, INPUT);
pinMode(ELE_PWM, INPUT);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
ADCSRA |= (1 << ADPS2);
ADCSRA &= ~(1 << ADPS1);
ADCSRA &= ~(1 << ADPS0);
}
void loop()
{
OUT_AIL = map(RC_AIL, AIL_MIN, AIL_MAX, 1000, 2000);
OUT_ELE = map(RC_ELE, ELE_MIN, ELE_MAX, 1000, 2000);
digitalWrite(LED_PIN, LOW);</font></div><div>
</div><div><font style="background-color: rgb(255, 255, 255);"> distance_Q = Filter(CSB_Q);
if (distance_Q <= 1400) //前有障碍物
{
OUT_ELE = 1400; //后退
digitalWrite(LED_PIN, HIGH);
}
AIL.writeMicroseconds(OUT_AIL);
ELE.writeMicroseconds(OUT_ELE);
distance_H = Filter(CSB_H);
if (distance_H <= 1400) //后有障碍物
{
OUT_ELE = 1600; //前进
digitalWrite(LED_PIN, HIGH);
}
AIL.writeMicroseconds(OUT_AIL);
ELE.writeMicroseconds(OUT_ELE);
distance_Z = Filter(CSB_Z);
if (distance_Z <= 1400)//左有障碍
{
OUT_AIL = 1600; //右飞
digitalWrite(LED_PIN, HIGH);
}
AIL.writeMicroseconds(OUT_AIL);
ELE.writeMicroseconds(OUT_ELE);
distance_Y = Filter(CSB_Y);
if (distance_Y <= 1400)//右有障碍
{
OUT_AIL = 1400; //左飞
digitalWrite(LED_PIN, HIGH);
}
AIL.writeMicroseconds(OUT_AIL);
ELE.writeMicroseconds(OUT_ELE);
// Print();
}
/****************************************************************************/
int Filter(int direct)
{
int i, j;
int filter_temp, filter_sum = 0;
int filter_buf[FILTER_N];
for (i = 0; i < FILTER_N; i++)
{
filter_buf[i] = analogRead(direct) * 3;
}
for (j = 0; j < FILTER_N - 1; j++)
{
for (i = 0; i < FILTER_N - 1 - j; i++)
{
if (filter_buf[i] > filter_buf[i + 1])
{
filter_temp = filter_buf[i];
filter_buf[i] = filter_buf[i + 1];
filter_buf[i + 1] = filter_temp;
}
}
}
for (i = 1; i < FILTER_N - 1; i++) filter_sum += filter_buf[i];
return filter_sum / (FILTER_N - 2);
}
/*void Print()
{
Serial.print("INAIL=");
Serial.print(RC_AIL);
Serial.print(" INELE=");
Serial.print(RC_ELE);
Serial.print(" OUTAIL=");
Serial.print(OUT_AIL);
Serial.print(" OUTELE=");
Serial.print(OUT_ELE);
Serial.print(" distance_Q=");
Serial.print(distance_Q);
Serial.print(" distance_H=");
Serial.print(distance_H);
Serial.print(" distance_Z=");
Serial.print(distance_Z);
Serial.print(" distance_Y=");
Serial.print(distance_Y);
Serial.println();
}*/
‘捌’ 官方下载的源代码编译失败
源代码不能编辑。
官方在网站上说的很清楚了,这套NET的源代码没有提供部分XAML代码,所以是不能编译的。
最后,也许过了这段时间,rc版已经升级为正式版,正式版也许就自动没有这些问题了。
‘玖’ Apache源码编译报错:Leaving directory
这4句是进入文件夹和退出文件夹
make[1]: Entering directory `/home/xxxx/server_code2/alarm' -- 进入文件夹 '/home...'
make[1]: Leaving directory `/home/xxxx/server_code2/alarm' -- 离开/退出文件夹 '/home...'
它要进一个文件夹 做 make.
问题是你是否已有这个文件夹了,文件夹里原始文件是否都在:
`/home/xxxx/server_code2/alarm'
或者,你要修改 Makefile, 把 xxxx。。。 换成 正确路径和 directory
