程序退出,代码为132

program exited with code 132

本文关键字:代码 退出 程序      更新时间:2023-10-16

我使用的是raspbian,opencv-2.4.8和geany,这是我的简单/第一个代码

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
using namespace std;
using namespace cv;
int main ()
{
    Mat image=imread("/home/pi/Desktop/pic3.png");
    if (! image.data)
    {
        cout<<"error"<<endl;
    }
    else
    {
        namedWindow("display",WINDOW_AUTOSIZE)
        imshow("display",image);
        waitKey(0);
        return 0;
    }
}    

这些是编译和构建命令在geany->project->properties->build

g++ $(pkg-config --cflags opencv-2.4.8) -c "f'
g++ $(pkg-config --clfags --libs opencv-2.4.8) -o "e" "f'

编译和构建很完美但是当我执行它时这是我的输出

非法指令


(程序退出代码:132)

我已经在互联网上搜索了这个退出代码,但找不到关于它的单个线程或问题

132 = 128 + 4

男人退出:

>128   A command was interrupted by a signal.

man -s 7信号

SIGILL        4       Core    Illegal Instruction
后来

-I/usr/local/include -I/usrlocal/include/opencv对于仅编译(-c)调用有意义(但对于链接可执行文件的第二个g++调用没有意义)。但是库不是由它们的完整路径指定的。您通常要做的是为每个目录指定一个-L/usr/local/lib(或类似),并为这些目录中的每个库指定-lopencv_calib3d(或类似)(省略lib.so)。