#java #ubuntu #eclipse #opencv #native
Пытаюсь установить и настроить 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, or link it with '-z noexecstack'. Как это исправить?
Ответы
Ответ 1
It's highly recommended that you fix the library with execstack -c, or link it with '-z noexecstack'. перевод: исправьте эту библиотеку, выполнив: $ execstack -c /home/ant/opencv-3.0.0/lib/libopencv_core.so.3.0.0 либо добавив (видимо, в то же поле vm arguments) строку -z noexecstack. во втором пункте (после «либо») изложена лишь моя догадка: я не знаю, как в eclipse линкуются библиотеки и где можно добавить параметры для этой линковки.
Комментариев нет:
Отправить комментарий