Пытаюсь установить и настроить JavaCV и OpenCV на ubuntu 14.04
Устанавливал по статье и по официальной инструкции.
Работаю в Eclipse
В свойствах проекта в пункте Run/Debug Settings в поле VM arguments добавил строчку:
-Djava.library.path="/home/ant/opencv-3.0.0/lib
Пытаюсь запустить код из примера с официального сайта:
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_imgproc.*;
import static org.bytedeco.javacpp.opencv_imgcodecs.*;
public class Main {
public static void main(String[] args) {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String filename = null;
try {
filename = bf.readLine();
} catch (IOException e) {
System.out.println(e);
}
File file = new File(filename);
System.out.println(file.exists());
IplImage image = cvLoadImage(filename);
if (image != null) {
cvSmooth(image, image);
cvSaveImage(filename, image);
cvReleaseImage(image);
}
}
}
Сам файл находит, но вот функцию cvLoadImage() не выполняет, а программа вылетает и выводит в консоль:
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/ant/opencv-3.0.0/lib/libopencv_core.so.3.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with execstack -c
Как это исправить?
Ответ
It's highly recommended that you fix the library with execstack -c
перевод:
исправьте эту библиотеку, выполнив:
$ execstack -c /home/ant/opencv-3.0.0/lib/libopencv_core.so.3.0.0
либо добавив (видимо, в то же поле vm arguments) строку -z noexecstack
во втором пункте (после «либо») изложена лишь моя догадка: я не знаю, как в eclipse линкуются библиотеки и где можно добавить параметры для этой линковки.
Комментариев нет:
Отправить комментарий