Clion生成动态链接库.dll
今天研究如何生成动态链接库.dll文件纠结了好久。在保证代码文件不报错的情况下,可能要注意几个方面。 一·项目结构要完整。 Clion项目生成后会和其他编程工具不同的地方在于会有一个CMakelist文件和cmake-build-debug文件夹。 如果没有Cmakelist可以使用importProject重新导入项目:https://blog.csdn.net/superSmart_Dong/article/details/98982679如果编译不通过,在代码保证正确的情况下设置Setting->Build,Execution,Deployment->Cmake->Generation Path ,设置选中为你的cmake-build-debug。 二.编写好Cmakelist文件。 在代码确保没报错的前提下,只要写好Cmakelist文件就可以进行Build,生成链接库了。 add_library(DEMOProject SHARED Afile.cpp Afile.hpp)有这句话就能够生成出dll动态链接库了add_library(<name> [STATIC | SHARED | MODULE][EXCLUDE_FROM_ALL][source1] [source2] [...]) 该指令的主要作用就是将指定的源文件生成链接文件,然后添加到工程中去,[STATIC | SHARED | MODULE]指定生成链接库的类型,指定STATIC,SHARED,或者MODULE参数用来指定要创建的库的类型。STATIC库是目标文件的归档文件,在链接其它目标的时候使用。如果什么都不写那么就会生成.a文件,也就是Linux的静态链接库文件。add_executable(DEMOProject Afile.cpp Afile.hpp)这是添加可执行文件的,如果把add_libarary写成这个命令,而你写的代码中也没有WinMain则会报找不到Winmain,编译出来的文件也不是链接库文件。会报类似下面的错误。undefined reference to 'Winmain' DemoProject.exe:error:Id return 1 exit status make[2]: *** [test_cpu] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/test.dir/all' failed make[1]: *** [CMakeFiles/test.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2
总结:Clion生成动态链接库.dll文件,确保CMakelist文件和cmake-build-debug正确,然后确保add_library正确,类型为SHARED,之后Run->build,就慢慢等,build完了一般就会在cmake-build-debug文件夹下生成.dll文件了。项目太大,生成时间太长,自己最好新建一个小项目试试行不行。
Clion生成动态链接库.dll相关推荐
- dll = MinGW gcc 生成动态链接库 dll 的一些问题汇总
MinGW gcc 生成动态链接库 dll 的一些问题汇总 https://blog.csdn.net/liyuanbhu/article/details/42612365 网络上关于用 MinGW ...
- 【DLL】clion生成.dll文件、python调用.dll文件
最近为了生成以及调用.dll文件,踩了一些雷,记录如下 目录 1.clion中生成.dll 2.clion中测试生成的.dll文件 3.在python中调用.dll文件 [1]导入.dll [2]ct ...
- Qt生成调用动态链接库dll
把编译好的包含函数和变量的目标代码存储到文件中,在链接的时候让链接程序自动从文件中查找需要的代码.这个文件就是链接库,又可以分为静态链接库和动态链接库. 1. 静态链接库 链接程序从库中寻找需要的符号 ...
- windows动态链接库dll生成和使用
一.生成动态链接库. MyDll.h #pragma once#ifdef _MYDLL_EXPORT#define DLL_API _declspec(dllexport)#else#define ...
- C++动态链接库dll及静态链接库lib制作及使用教程
现需将C++函数封装成动态链接库dll,网上看了好多博客教程,说的都不够全面,现提供一个很有用的视频,亲测有效,启发很大,附上链接: 视频网址 下面自己根据视频记录下制作动态链接库dll过程,防止忘记 ...
- VC++动态链接库(DLL)编程(四)――MFC扩展 DLL
VC++动态链接库(DLL)编程(四) ――MFC扩展 DLL 作者:宋宝华 e-mail:21cnbao@21cn.com 前文我们对非MFC DLL和MFC规则DLL进行了介绍,现在开始详细 ...
- VC++动态链接库(DLL)编程(一)――理解库
VC++动态链接库(DLL)编程(一) ――理解库 作者:宋宝华 e-mail:21cnbao@21cn.com 1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概 ...
- 动态链接库dll,静态链接库lib, 导入库lib
目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称"静态库"),另一种为动态连接库(DLL,以下简称"动态库")的导入库(Imp ...
- c#(winform)环境下使用动态链接库dll的详解
c#(winform)环境下使用动态链接库dll的详解 转载 2016年05月14日 10:12:17 3208 1,什么是dll文件? DLL(Dynamic Link Library)文件为动态链 ...
最新文章
- 第十九课.Pytorch-geometric扩展
- Tomcat+Apache 负载均衡
- 制作越狱版本的ipa文件
- 信息系统项目管理师-信息系统范围管理核心知识点思维脑图
- [css] 使用rem布局时怎样合理设置根标签字体大小?
- 计算机网络之网络层:1、网络层功能、路由算法和路由选择概述
- c语言中通过指针引用数组,C语言基础(二)
- “UNIX的名字是我起的”——对话UNIX开发者Brian W. Kernighan
- middleware什么意思_middleware
- 如何在linux系统中快速切换目录(目录栈的使用),如何在Linux下环境下快速切换工作目录...
- 现在AR/VR机会很少,可能全都是泡沫之互联网创业分析!
- 【FinE】统计与计量指标计算(Matlab)
- 也谈ibm aix jfs2
- 原生js实现数据双向绑定
- Hive查询分析计算:股票分析
- Elyse Alexander - Unplanned Song WA47电子管麦克风
- 通达oa考勤可以代打吗_个人考勤使用方法
- html设定按钮位置示例
- PPT技巧,帮助你更好的制作PPT
- 液压机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告