Я пытаюсь скомпилировать код, предоставленный здесь, но я застреваю при попытке выполнить команду cmake..
Когда выполнение этой команды много материала выведено на экран, и одна из тех вещей те строки:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
G2O_EXT_CSPARSE
и также
-- Configuring incomplete, errors occurred!
See also "/home/yalishanda/Downloads/lsd_slam_noros-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/yalishanda/Downloads/lsd_slam_noros-master/build/CMakeFiles/CMakeError.log".
Таким образом, когда выполнение кошки CMakeError.log I видит среди многих других вещей это:
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_792f7.dir/build.make:97: recipe for target 'cmTC_792f7' failed
Я уже установил использование pthreads:
sudo apt-get install libpthread-stubs0-dev
который даже возвратился:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libpthread-stubs0-dev is already the newest version (0.3-4).
The following package was automatically installed and is no longer required:
snap-confine
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
Таким образом, это не должно быть проблемой, я думаю, все же файл вывода ошибок жалуется на это.
Я также уже читал 2 других сообщения на SE, связанном с этим видом ошибок, но они не решили мою проблему.
someobody могло объяснить, что я делаю неправильно?
Эта ошибка может связанный с соединением библиотеки. Я сталкивался с той же проблемой, но установкой build-essential
пакет решил проблему. Попробовать apt-get install build-essential
Это, кажется, давняя ошибка CMake. Что-то еще идет не так, как надо, CMake запутывается и сообщает об этой побочной проблеме вместо реальной ошибки.
Ищите "поток" в своем файле CMakeLists.txt и временно удалите это.
Это старый вопрос, но он одним из первых попадает в мою поисковую систему, когда я ищу сообщение об ошибке:
/usr/bin/ld: cannot find -lpthreads
Проблема здесь в опечатке: -lpthreads
должно быть -lpthread
; нет конечных s
.
В качестве альтернативы, по крайней мере, в некоторых версиях ld
, вы также можете использовать только -pthread
.