Я пытаюсь создать библиотеки FLANN, чтобы впоследствии построить библиотеку PCL.
Я получаю сообщение об ошибке при использовании CMake для компиляции исходного кода. Думаю, мне не хватает чего-то очень простого. Поскольку я не могу найти скомпилированную библиотеку для своей системы, мне приходится создавать ее самостоятельно.
С командой
~/flann-1.8.4-src/build> cmake ..
я получил
CMake Error at src/cpp/CMakeLists.txt:86 (add_library):
No SOURCES given to target: flann
CMake Error at src/cpp/CMakeLists.txt:32 (add_library):
No SOURCES given to target: flann_cpp
Это происходит с flann 1.8.4 и 1.9.1 в операционной системе SLES11.
Намек?
Вот полная транскрипция того, что говорит cmake:
-- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS) (found version "")
CMake Warning at CMakeLists.txt:76 (message):
hdf5 library not found, some tests will not be run
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
CMake Warning at CMakeLists.txt:115 (message):
gtest library not found, some tests will not be run
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- Found OpenMP: TRUE
CMake Warning at src/matlab/CMakeLists.txt:79 (message):
Cannot find MATLAB or Octave instalation. Make sure that the 'bin'
directory from the MATLAB instalation or that mkoctfile is in PATH
hdf5 library not found, not compiling flann_example.cpp
-- Could NOT find LATEX (missing: LATEX_COMPILER)
-- Install prefix: /usr/local
-- Build type: RelWithDebInfo
-- Building C bindings: ON
-- Building python bindings: ON
-- Building matlab bindings: ON
-- Building CUDA library: OFF
-- Using OpenMP support: ON
-- Using MPI support: OFF
-- Configuring done
CMake Error at src/cpp/CMakeLists.txt:86 (add_library):
No SOURCES given to target: flann
CMake Error at src/cpp/CMakeLists.txt:32 (add_library):
No SOURCES given to target: flann_cpp
-- Build files have been written to: ~/flann-1.8.4-src/build
Спасибо, отчет об ошибке дал мне правильный обходной путь!





В твоем фланговом режиссере запустить
touch src/cpp/empty.cpp
В src / cpp / CMakeLists.txt заменять
add_library(flann_cpp SHARED "") and add_library(flann SHARED "")
с участием
add_library(flann_cpp SHARED empty.cpp) and add_library(flann SHARED empty.cpp)
Надеюсь это поможет :) ссылка на сайт, спасибо за комментарий Цыварева
CMakeLists.txtпроекта используетadd_library(flann_cpp SHARED ""). Они хотят создать библиотеку только для заголовков, но в CMake создание библиотеки без исходных кодов - неправильный путь. Кстати, у них уже есть отчет об ошибке.