windows下C++项目引用其他项目

阅读: 评论:0

windows下C++项目引用其他项目

windows下C++项目引用其他项目

C++引用其他项目有两种方式,一种是动态链接库(dll(运行时用到) + lib(导入库文件编译时用到)),一种是静态连接库(lib(编译时用到))。动态链接库和静态连接库,是在创建项目的时候选择的,选择静态连接库,编译会生成.lib文件,选择动态链接库项目时,在外部引用的成员前面要加上__declspec(dllexport),不然不会生成.lib导入库,vs2010反正是这样的。

引用的三种方式:

1.如果都是在一个解决方案里面,就项目鼠标右键-->属性-->通用属性-->框架和引用-->增加新引用

2.项目右键属性-->配置属性-->连接器-->输入-->附加依赖项里面加入.lib文件

3.#pragma comment(lib,"xxx.lib")导入.lib文件

上面的.lib文件对于动态和静态两种情况导入方式都是一样的,但两个.lib文件代表的意思不一样,静态链接库明显会比导入库达很多,但动态链接库运行时要要.dll文件在,不然要报错,还有种方法可以区分导入库和静态链接库两种.lib:

在cmd里面输入:lib /list xx.lib

输出很多.obj的是静态链接库,因为静态链接库就是把obj文件打包在一起的

输出很多.dll文件的是导入库,导入库就是告诉程序去相应dll里面找代码

注:当是.c文件调用.cpp文件的dll函数,那么要考虑到c和c++的编译生成函数的名称不一样,这时在cpp函数前面加上extern "C"让用C的方式生成函数名,这样才能正常调用

注:当dll是x64的时候,项目的平台也要是x64,是x86也会出现链接错误

本文发布于:2024-02-04 23:13:49,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170718594660652.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:项目   windows
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23