CLion 在导入库时发现 CMakeLists.txt 存在问题,但它在命令行下运行良好

CLion finds a problem with CMakeLists.txt for importing a library but it works well by command line

当我在终端上使用 CMake 时,完全没有问题。 但是,当我尝试使用 CLion 时,再也找不到 SDL_image...

这里是 CLion 的错误信息:

CMake Error at /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164

(message): Could NOT find SDL2_image (missing: SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS)

CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(ProjectName C)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(SDL2 REQUIRED)
find_package(SDL2_image REQUIRED)

include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS})

add_executable(main.c)
target_link_libraries(main ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES})
#include "SDL.h"
#include "SDL_image.h"

int main(void) {
    return 0;
}

也许 CLion 对 CMake 变量使用了不同的值?

我终于找到问题了! CLion 使用不同版本的 CMake (3.17),但我使用的是 3.19 版本。 我更改了首选项中的 CLion CMake 可执行文件(构建、执行... -> 工具链)。 一条警告告诉我不支持 3.17.x 以上的 CMake 版本。不过好像效果不错。