MFC静态库的使用

来源:互联网 发布:淘宝商品上架教程 编辑:程序博客网 时间:2024/05/21 01:29
相对动态库来说,静态库更简单,但也有些要注意的小细节:

一、
静态库链接的时候,VS有警告
warning LNK4006: __NULL_IMPORT_DESCRIPTOR already defined
这是因为对静态库而言,不需要添加任何依赖的动态库,依赖是由编译链接该静态库的EXE/DLL去负责的。

二、
静态库的函数和类的导出,都不需要像动态库那样加__declspec( dllexport )。如果加了__declspec(dllexport),VS反而在链接的时候提示: error LNK2019: 无法解析的外部符号(unresolved external symbol...)

三、
同一个Solution里,如果要使用到一个静态库,通过设置项目依赖即可,可以不用在项目的输入库中指定。

四、
静态库使用的是链接该静态库的 EXE/DLL 的资源。所以如果静态库里存放的对话框类,对话框资源还是需要加到 EXE/DLL 中。
0 0