linux gcc error cc1,gcc cc1:内存不足分配

我正在尝试使用Angstrom Linux编译我的BeagleBoard中的源代码。

昨天我能够编译我的代码。但是今天我无法编译代码,它说:

ccl: out of memory allocating 268439608 bytes after a total of 405504 bytes

make *** [getimagefromcam1.o] Error 1我的编译字符串是:

gcc getimagefromcam1.c `pkg-config --cflags --libs opencv` -o getimagefromcam1 -lpthread代码是:

#include

#include

#include

#include

int main(int argc, char* argv[])

{

CvCapture* camera = cvCreateCameraCapture(0); // Use the default camera

IplImage* frame = 0;

IplImage img;

cvSetCaptureProperty(camera,CV_CAP_PROP_FRAME_WIDTH,2016) ;

cvSetCaptureProperty(camera,CV_CAP_PROP_FRAME_HEIGHT,1512);

frame = cvQueryFrame(camera); //need to capture at least one extra frame

frame = cvQueryFrame(camera);

if (frame != NULL) {

printf("got frame 1\n\r");

cvSaveImage("webcam1.jpg", frame,0);

} else {

printf("Null frame 1\n\r");

}

frame = cvQueryFrame(camera); //need to capture at least one extra frame

frame = cvQueryFrame(camera);

if (frame != NULL) {

printf("got frame 1\n\r");

cvSaveImage("webcam1.jpg", frame,0);

} else {

printf("Null frame 1\n\r");

}

cvReleaseCapture(&camera);

return 0;

}当我写“免费”是说

total used free shared buffers cached

Mem: 241260 221256 20004 0 13748 116184

-/+ buffers/cache: 91324 149936

Swap: 0 0 0我该如何解决它?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误是由于GCC编译器无法找到cc1程序而导致的。cc1GCC编译器的一个重要组件,它负责将C代码转换为汇编代码。如果GCC无法找到cc1程序,那么编译过程就会失败。 解决这个问题的方法是确保cc1程序已经正确安装并且在系统路径中可用。如果cc1程序确实已经安装,但是GCC仍然无法找到它,那么可能需要手动指定cc1程序的路径。可以通过在GCC命令行中使用“-B”选项来指定cc1程序的路径,例如: gcc -B /usr/lib/gcc/x86_64-linux-gnu/4.8/ test.c -o test 这个命令将指定GCC使用/usr/lib/gcc/x86_64-linux-gnu/4.8/目录下的cc1程序来编译test.c文件。请根据实际情况修改路径。 ### 回答2: 在使用GCC编译程序时,可能会遇到错误提示“error trying to exec 'cc1”(试图执行'cc1'时出错)。这个错误提示通常出现在Windows操作系统下,原因是GCC无法找到cc1.exe文件。cc1GCC编译器的内部程序,用于将源代码转换成汇编代码。如果找不到cc1.exe文件,则无法进行编译。下面是一些可能导致这个错误的原因和解决方法: 1. GCC未正确安装或路径配置错误。 解决方法:重新安装GCC,并确保将其路径添加到系统环境变量中。 2. 编译器版本不兼容。 解决方法:尝试使用与编译器版本相对应的cc1.exe文件。 3. 编译源代码时命令中缺少必要的参数。 解决方法:检查编译命令中的参数是否正确,并根据需要添加必要的参数。 4. 权限不足。 解决方法:如果使用的是Windows操作系统,确保拥有管理员权限。如果是Linux操作系统,则可以尝试更改文件所有者或文件权限。 5. 源代码中存在语法错误。 解决方法:检查源代码中是否存在语法错误,并进行修改。 6. 编码错误。 解决方法:检查源代码是否采用正确的编码方式,并根据需要进行修改。 总之,以上的错误解决方法仅供参考,具体解决方案需要根据具体情况进行调整。在使用GCC编译程序遇到问题时,我们应该耐心分析错误原因,并采取正确的解决方法,以确保程序能够顺利编译并运行。 ### 回答3: 当使用gcc编译时,有时会出现错误提示:gcc: error trying to exec 'cc1’。这个错误提示的意思是:找不到cc1可执行文件。 造成这种情况的原因有很多种,以下是可能的原因和对应的解决办法: 1. cc1被删除或移动了位置。 解决方案:重新安装或升级gcc。 2. 缺少libgcc。 解决方案:安装缺少的库。 3. 系统环境变量错误。 解决方案:检查系统环境变量是否设置正确。 4. 系统内存不足。 解决方案:增加系统内存或关闭其他程序释放内存。 5. 文件权限问题。 解决方案:赋予文件执行权限。 6. 系统被感染了病毒。 解决方案:运行杀毒软件检查并清除病毒。 总之,出现gcc: error trying to exec 'cc1’错误提示时,需要先检查可能的原因,然后采取相应的解决方案。如果以上方法均不奏效,还可以尝试卸载gcc,并重新安装一个版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值