zoukankan      html  css  js  c++  java
  • windows编译动态链接库,dll+lib的形式

      之前一直在linux上做开发,没怎么关注过windows上如何编译动态链接库。不过一直存疑,为什么windows上的动态链接库是.dll配合.lib使用的,这个又是怎么生成的呢,通过一段时间的查资料和尝试,最终发现,windows上生成动态链接库之后如果需要.lib,用于编译阶段的符号查找,那么,必须要在需要导出的函数前面加一个宏。也就是__declspec(dllexport),在使用时为__declspec(dllimport)。

    具体可以是

    1 #ifdef MAKEDLL_EXPORTS
    2 #define MAKEDLL_API __declspec(dllexport)
    3 #else
    4 #define MAKEDLL_API __declspec(dllimport)
    5 #endif

    然后记得在导出库文件的工程中加入MAKEDLL_EXPORTS宏即可。

      这样,在生成时会生成一个dll+一个lib文件。否则,只能动态加载dll文件才能使用,并且不能直接使用库里面的函数,需要通过动态加载的dll来调用其中的库函数。

    参考:

    https://www.cnblogs.com/qinguoyi/p/7257353.html

    可以图形化看到的东西坚决不会用命令行ORZ

  • 相关阅读:
    VUE 入门基础(2)
    VUE 入门基础(1)
    常用正则表达式
    git 常用命令
    JavaScript 常用算法
    SVG 使用
    移动前端头部标签(HTML5 meta)
    开发常用小demo 整理
    Reactjs 入门基础(三)
    Reactjs 入门基础(二)
  • 原文地址:https://www.cnblogs.com/IGNB/p/11644180.html
Copyright © 2011-2022 走看看