我是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?
答案 0 :(得分:0)
除了链接静态库之外,还需要将动态库SDL2.dll
放在程序的同一文件夹中。
要仅使用 静态库,必须从源according to this answer对其进行编译。