У меня часто возникают проблемы с тем, чтобы заставить CMake принять тот факт, что у меня действительно установлен какой-то пакет, и это потому, что я не понимаю, какую информацию передать CMake и / или как это сделать. тот.
Например, я установил libnest2d через apt install libnlopt-dev
.
Однако, когда я запускаю CMake из pynest2d, он по-прежнему жалуется, что не может его найти:
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
NLopt library cannot be found. Consider set NLopt_PATH environment
variable (missing: NLopt_INCLUDE_DIRS)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
cmake/FindNLopt.cmake:63 (find_package_handle_standard_args)
CMakeLists.txt:15 (find_package)
Я получаю это довольно часто при компиляции и установке, но я не совсем уверен, что он хочет от меня сделать. . Я сам пробовал найти библиотеку, но потом у меня всегда получается множество возможных каталогов, и я не уверен, что даже делать с этими каталогами, если мне удастся найти правильный.
Какие файлы конкретно ищет CMake?
Как мне указать CMake (желательно через cmake-gui) посмотреть каталог, в котором, как я знаю, должен находиться этот файл?
Вот все каталоги, которые могут быть кандидаты предоставить CMake.
$ locate libnlopt-dev
/usr/share/doc/libnlopt-dev
/var/lib/dpkg/info/libnlopt-dev:amd64.list
/var/lib/dpkg/info/libnlopt-dev:amd64.md5sums
$ dpkg -L libnlopt-dev
/.
/usr
/usr/include
/usr/include/nlopt.f
/usr/include/nlopt.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/cmake
/usr/lib/x86_64-linux-gnu/cmake/nlopt
/usr/lib/x86_64-linux-gnu/cmake/nlopt/NLoptConfig.cmake
/usr/lib/x86_64-linux-gnu/cmake/nlopt/NLoptConfigVersion.cmake
/usr/lib/x86_64-linux-gnu/cmake/nlopt/NLoptLibraryDepends-none.cmake
/usr/lib/x86_64-linux-gnu/cmake/nlopt/NLoptLibraryDepends.cmake
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/nlopt.pc
/usr/share
/usr/share/doc
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/nlopt.3.gz
/usr/share/man/man3/nlopt_minimize.3.gz
/usr/share/man/man3/nlopt_minimize_constrained.3.gz
/usr/lib/x86_64-linux-gnu/libnlopt.so
/usr/share/doc/libnlopt-dev
Сейчас я использую XFCE4 в WSL2.