如何将工程打包成DLL和lib

时间:2022-06-01 00:12:42
最近接到一个任务,需要将底层打包成dll,lib以及头文件的形式,原来底层是由若干个工程组成的,并且都能够生成lib,但是很不好的是,研发人员能够看到底层的信息,一不小心就跑到底层里面去改错了,并且很容易将底层暴露,现在想将底层打包起来,只提供dll,lib和说明类接口的头文件,我记得在一个下载工具里面就是这样做到的,FTKernelAPI库,他就只提供了FTKernel.dll,FTKernel.lib,以及FTKernel.h,.其它的函数实现都封装和隐藏了起来.我想做到的就是这样.大家有没有什么办法?

8 个解决方案

#1


新建一个dll工程,把需要的东西加进入

#2


同上

#3


但是是很多子工程的呀,10个子工程的.要全部导入进去么?

#4


引用 3 楼 jolley 的回复:
但是是很多子工程的呀,10个子工程的.要全部导入进去么?


建一个工程,然后把lib库工程的头文件和源文件都加进去,并设置导出函数

#5


把你所谓的“原来底层”那个sln中每个工程的Configuration Type都设置成dll,然后在
你的底层库里用 dllexport 导出类,在要使用的地方用 dllimport 就可以了,这样只把头文件、lib文件和dll文件给对方就可以了

#6


谢谢你的回复,底层不是个sln.我不是很清楚你说的"你的底层库里用 dllexport 导出类,在要使用的地方用 dllimport 就可以了,这样只把头文件、lib文件和dll文件给对方就可以了",在底层库里面用dllexport导出类,这个类是指什么呀? 在要使用的地方用dllimport就可以了?

#7


不懂,学习来了

#8


lz同志,dll是动态连接库,不是rar,不是用来打包exe的,一个dll文件的生成过程跟一个exe的生成过程是一样的,都是创建一个工程,写代码,编译,而不是什么用exe打包,不知道这个概念是谁教你的,建议你以后别再听他胡说,这不是误人子弟吗?

#1


新建一个dll工程,把需要的东西加进入

#2


同上

#3


但是是很多子工程的呀,10个子工程的.要全部导入进去么?

#4


引用 3 楼 jolley 的回复:
但是是很多子工程的呀,10个子工程的.要全部导入进去么?


建一个工程,然后把lib库工程的头文件和源文件都加进去,并设置导出函数

#5


把你所谓的“原来底层”那个sln中每个工程的Configuration Type都设置成dll,然后在
你的底层库里用 dllexport 导出类,在要使用的地方用 dllimport 就可以了,这样只把头文件、lib文件和dll文件给对方就可以了

#6


谢谢你的回复,底层不是个sln.我不是很清楚你说的"你的底层库里用 dllexport 导出类,在要使用的地方用 dllimport 就可以了,这样只把头文件、lib文件和dll文件给对方就可以了",在底层库里面用dllexport导出类,这个类是指什么呀? 在要使用的地方用dllimport就可以了?

#7


不懂,学习来了

#8


lz同志,dll是动态连接库,不是rar,不是用来打包exe的,一个dll文件的生成过程跟一个exe的生成过程是一样的,都是创建一个工程,写代码,编译,而不是什么用exe打包,不知道这个概念是谁教你的,建议你以后别再听他胡说,这不是误人子弟吗?