c++ - 如何将 .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?
解决方案
SDL2.dll
除了与静态库链接外,您还需要将动态库放在程序的同一文件夹中。
根据这个答案,为了仅使用静态库,您必须从源代码编译它。
推荐阅读
- firebase - Fabric 不允许我链接我的 Firebase 应用
- c# - 使用 Json.Net 序列化对象列表而不是单个对象时出现类型信息
- node.js - 我们可以在服务器端获取谷歌分析报告,而不重定向到谷歌页面并要求登录吗?
- android - 如何在滚动视图周围显示带有 Imageview 的 Linearlayout?
- sql - SQL 按列 IN listOfColumnNames 分区
- ios - 在 iTunes 连接中添加和使用开发者用户帐户
- reactjs - 在reactjs中使用recompose compose时获取mapStateToProps中的url参数
- jquery - jquery 验证 addClassRules
- matlab - 如何将我的行附加到表中以使用 MATLAB 连续记录我的数据?
- ruby-on-rails - 如何根据rails中应用程序的用户更改发件人电子邮件凭据