CMake入门
find_library
和find_package
(你提到的require mysql
可能是指find_package(MySQL REQUIRED)
)在CMake中有不同的用途和行为:
find_library:
- 用于查找特定的库文件(例如
libmysqlclient.so
)。 - 只返回库文件的路径,不会自动处理库的依赖项或包含路径。
- 需要手动指定包含路径和其他依赖项。
- 用于查找特定的库文件(例如
find_package:
- 用于查找并配置一个完整的软件包(例如MySQL)。
- 自动处理库的依赖项、包含路径和其他配置。
- 通常需要一个对应的配置文件(例如
FindMySQL.cmake
或MySQLConfig.cmake
)。
在你的情况下,使用find_package
会更方便,因为它会自动处理MySQL库的所有配置。下面是如何使用find_package
来替代find_library
:
1 | cmake_minimum_required(VERSION 3.5.0) |
这样,CMake会自动找到MySQL库,并处理所有必要的配置。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.