Cmake seems not to find the lib libsndfile. However, it installed on my machine.
find_library(sndfile REQUIRED)
And installed :
yum list installed | grep libsnd
libsndfile.x86_64 1.0.25-11.el7 @base
libsndfile-devel.x86_64 1.0.25-11.el7 @base
The error :
CMake Error at CMakeLists.txt:65 (find_library):
Could not find sndfile using the following names:
CMakeLists.txt :
cmake_minimum_required(VERSION 3.19)
project(untitled1)
set(CMAKE_CXX_STANDARD 11)
find_library(sndfile REQUIRED)
add_executable(untitled1 main.cpp)
Main.cpp
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
It doesn't mean much if it is installed on your machine or not. CMake won't search all your computer for the library. The best thing you can do is to add the location of the installed library to your PATH
environment variable.
Here's what CMake documentation says about find_library()
HINTS
and PATHS
arguments:
HINTS, PATHS
Specify directories to search in addition to the default locations. The ENV var sub-option reads paths from a system environment variable.
CMake also provides another solution: set CMAKE_PREFIX_PATH
You can find more details about it here.