(似乎已解决)Windows下 cmake 引用已有动态库 h lib dll

发布于 2022-09-12 12:52:58 字数 1023 浏览 43 评论 0

似乎是dll不兼容,cmake文件我是写对的


文件目录结构

gts.lib, gts.dll, gts.h文件都有了

CMakeLists.txt里面要怎么写?如果可以的话麻烦写一份完整的代码
Windows下 cmake 引用已有动态库
三年前有个一样的问题,但是回答似乎用不上

现在的写法是这样的:

根目录CMakeLists.txt

cmake_minimum_required(VERSION 3.17)
project(MotionDaemon)
set(CMAKE_CXX_STANDARD 11)

include_directories(${PROJECT_NAME}/include)
link_directories(${PROJECT_NAME}/library)

add_subdirectory(res)
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} utils gts)

子目录res的CMakeLists.txt, 这部分不重要

aux_source_directory(. DIR_LIB_SRCS)
add_library(utils ${DIR_LIB_SRCS})

使用以上设置会报错
D:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgts

查了很多资料都没辙,大部分是罗列一些指令然后开始火箭跳跃。所以只能在这当一次伸手党。LZ非科班新手,没学过编译原理,如果有好的CMake教程麻烦也推荐一下。感激不尽!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文