cmake 找不到 libsndfile

cmake cannot find libsndfile

Cmake 好像没有找到lib libsndfile。但是,它安装在我的机器上。

find_library(sndfile REQUIRED)

并安装:

yum list installed | grep libsnd
libsndfile.x86_64                       1.0.25-11.el7            @base          
libsndfile-devel.x86_64                 1.0.25-11.el7            @base  

错误:

 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;
}

你的机器装不装没有多大意义。 CMake 不会在您的所有计算机上搜索库。您可以做的最好的事情是将已安装库的位置添加到您的 PATH 环境变量中。

这是 CMake 文档中关于 find_library() HINTSPATHS 参数的内容:

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还提供了另一种解决方案:set CMAKE_PREFIX_PATH 您可以找到有关它的更多详细信息 here.