首页 > 解决方案 > 如何将 .lib 文件添加到我的 cmake 项目

问题描述

我是 cmake 新手并尝试使用静态库。该项目目前具有以下结构:

SDLTest  
-->includes  
-->libs  
---->x86  
------>SDL2.lib  
-->CMakeLists.txt  
-->main.cpp

CMakeLists.txt 包含

cmake_minimum_required (VERSION 3.8)

project ("SDLTest")

add_executable(${PROJECT_NAME} main.cpp)

target_include_directories(${PROJECT_NAME} PRIVATE "includes")
target_link_libraries(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/libs/x86/SDL2.lib")

它编译没有问题,但是当我执行程序时,它告诉我程序无法启动,因为缺少 SDL2.dll。

如何告诉 cmake 使用静态 SDL2.lib 而不是 SDL2.dll?

标签: c++cmakesdl

解决方案


SDL2.dll除了与静态库链接外,您还需要将动态库放在程序的同一文件夹中。

根据这个答案,为了使用静态库,您必须从源代码编译它。


推荐阅读