我正在使用 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)
我已经在 Internet 上搜索了这个退出代码,但找不到一个线程或关于它的问题
最佳答案
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
。)
关于c++ - 程序以代码 132 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24104394/