加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

CMake安装不是在Windows上安装库

发布时间:2020-12-14 05:44:17 所属栏目:Windows 来源:网络整理
导读:由于某种原因,下面的CMake文件无法安装项目库.它在正确的位置创建目录,甚至递归安装头…但它无法安装库.怎么解决这个问题? cmake_minimum_required(VERSION 2.8)project(MyLib)include_directories(include)add_library(MyLib SHARED source/stuff.cpp)if(C
由于某种原因,下面的CMake文件无法安装项目库.它在正确的位置创建目录,甚至递归安装头…但它无法安装库.怎么解决这个问题?

cmake_minimum_required(VERSION 2.8)
project(MyLib)

include_directories(include)
add_library(MyLib SHARED source/stuff.cpp)

if(CMAKE_SYSTEM MATCHES "Windows")
target_link_libraries(MyLib DbgHelp ws2_32 iphlpapi)
set(CMAKE_INSTALL_PREFIX "../../devel_artifacts")
endif(CMAKE_SYSTEM MATCHES "Windows")

install(TARGETS MyLib LIBRARY DESTINATION "lib"
                      ARCHIVE DESTINATION "lib"
                      COMPONENT library)
install(DIRECTORY include/${PROJECT_NAME} DESTINATION include)

解决方法

你刚刚错过了 install(TARGETS...)命令中的RUNTIME DESTINATION参数.

CMake将共享库视为Windows等“DLL平台”上的运行时对象.如果您将命令更改为:

install(TARGETS MyLib LIBRARY DESTINATION "lib"
                      ARCHIVE DESTINATION "lib"
                      RUNTIME DESTINATION "bin"
                      COMPONENT library)

然后你会发现MyLib.dll最终出现在“devel_artifacts / bin”中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读