Соединение ошибки при попытке скомпилировать на общем диске

Я пытаюсь скомпилировать библиотеку OpenCV по общему диску в моей системе. Я смог настроить и генерировать make-файлы успешно при помощи этих настроек, но когда я пытаюсь скомпилировать, я получаю следующую ошибку:

Linking CXX shared library ../../lib/libopencv_core.so
CMake Error: cmake_symlink_library: System Error: Operation not permitted
CMake Error: cmake_symlink_library: System Error: Operation not permitted
make[2]: *** [lib/libopencv_core.so.2.4.3] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

Помогите решить. Я думаю, что это может быть проблема с флагами монтирования.

3
задан 13 April 2017 в 15:23

2 ответа

Я столкнулся с той же проблемой, потому что работал на виртуальной машине с экземпляром ubuntu (guest), но работал в общей папке на моем mac (host).

Поскольку символьные ссылки различаются на Mac, cmake не удалось. Перемещение директории сборки в папку только с Ubuntu (не используемую совместно с Mac) решило проблему.

Мораль истории - не создавайте общие папки, которые пересекают платформы.

0
ответ дан 13 April 2017 в 15:23

Это происходит потому, что файловые системы типа vfat не поддерживают символические ссылки. Флаги монтирования не изменят эту ситуацию.

Я не знаком с CMake, но я полагаю, что вы используете какое-то правило в вашем make-файле, которое говорит CMake сделать символическую ссылку на lib/libopencv_core.so.2.4.3, что не удается.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: