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 版本。不过好像效果不错。
当我在终端上使用 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 版本。不过好像效果不错。