纯c++ dll(续。。。。)

 

 

1  vc6中选择Win32 Dynamic-Link Library

2  起名后下一步,使用A simple DLL project

3  编译时报错 error C2491: ‘MYTest’: definition of dllimport function not allowed

    原因:.h中

      #ifdef MYDLL_EXPORTS //此处定义可能出现 error C2491: : definition of dllimport function not allowed
      #define MYDLL_API __declspec(dllexport)
      #else
      #define MYDLL_API __declspec(dllimport)
      #endif

4  链接mysql时的问题:

    #include<winsock2.h>//否则报错 error C2146: syntax error : missing ';' before identifier 'fd'
    #include "mysql/mysql.h"

     不用afxsock.h

     把libmysql.dll放到debug中或者到附加项里加进来;否则提示“因为计算机中丢失libmysql.dll”等系列问题

5  编译时自动拷贝DLL Lib到指定的路径

     dll 是要给其它工程使用的,避免不了调试时的链接;可直接把需要的dll lib放到指定的目录,调用工程也连接到相应目录;省事的同时也确保使用的是最新的,确保一致

    vc6   设置: Project---Setting---Post-build Step中 copy                Debug\Your.dll            ..\Bin\

                                                                                              copy                Debug\Your.lib            ..\Lin\

     vs中设置好像:Build   Events   >   Post   Build   Event   >   Command   Line

    ( 上述拷贝路径设置好后,如果不rebuildall;就要在每个工程每次build之前先clean一次,不然不会拷贝,也就是说你的lib、dll仍是上次的,不是新的)

    这样,你的Debug中和指定的路径里就同时有了相同的库

6  编译时只生成了dll,没有lib文件

     如果执行了1、2两步后,就直接编译,那么只会生成dll文件,而没有lib文件。当有一个导出函数或者导出变量时,再编译就会有lib文件

7  待续。。。。。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值