2012-04-12 2 views
0

Я пытаюсь перекрестно скомпоновать очень простую тестовую программу с функциями opencv.ошибка при попытке скрещивания opencv

Я использую Ubuntu 11.10 и CodeBlocks, и когда я скомпилировать свой код, окажись это мне:

||warning: ../../lib/libopencv_core.so, needed by /root/arm-lib/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)| 
||warning: ../../lib/libopencv_imgproc.so, needed by /root/arm-lib/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)| 
||=== Build finished: 0 errors, 2 warnings ===| 

И когда я пытаюсь выполнить эту программу в ARM, я получаю ошибку сегментации (ядро сбрасывали).

флаги, которые я использую на CodeBlocks являются:

-L/USR/местные/Библиотека -L/Библиотека/libbxml2.so.2 -lpthread -lrt -lxml2 -lz -lopencv_highgui -lopencv_core -lopencv_imgproc

Что вы предлагаете? Заранее благодарен

ответ

0

Одна очевидная проблема с вашей командной строкой: -L должна использоваться только для добавления библиотек, однако вы используете ее для включения файла в -L/lib/libbxml2.so.2, и это просто неправильно.

Скорее всего, что вы хотели сделать:

-L/usr/local/lib -L/lib -lxml2 -lpthread -lrt -lxml2 -lz -lopencv_highgui -lopencv_core -lopencv_imgproc 

Теперь ошибка ясна: система не может найти libopencv_core.so и libopencv_imgproc.so в пути вы включены с -L. Я предлагаю вам найти эти файлы, а затем добавить соответствующий каталог, используя флаг -L.

+0

Это так странно, потому что эти файлы находятся в каталогах библиотек,/usr/local/lib и в/lib. Я не знаю, что происходит – edsonlp1

+0

Наконец, я переустановил все библиотеки и попытаюсь скомпилировать снова, и я могу скомпилировать, но в любом случае, когда я пытаюсь выполнить это программное обеспечение на ARM, я получаю ту же ошибку. Ошибка сегментации (core dumped) – edsonlp1

+0

Замечательно, что вы можете компилировать, это означает, что на ваш вопрос был дан ответ! Если у вас есть новые вопросы (проблемы), вы можете задать их в новых потоках. Segfault может быть вызвано проблемой в вашем коде. На этом этапе вам необходимо просмотреть все полученные вами ответы и выбрать ответ, который помог вам решить вашу проблему (рядом с каждым ответом есть небольшой флажок). Если ни один не решил ваш вопрос, вы можете добавить ответ самостоятельно. – karlphillip

Смежные вопросы