从网上下了个封装好的按钮类 想把它做成dll 源程序是没有问题的 能正常使用 
新建了一个MFC扩展dll的项目 把下载的文件添加进去 同时修改了头文件将类导出编译连接 但是生成的dll没法用 我用depends查看的时候每次都是找不到msvcr90d.dll  不知道怎么回事 麻烦各位解答下

解决方案 »

  1.   

    搜索msvcr90d.dll并拷贝到dll所在目录
      

  2.   

    一般VC运行时库默认是DLL的,需要依赖这些DLL。将工程运行时库改成静态链接就好了,路径:C/C++ -> Code Generation -> Runtime Library,Debug将/MDd改成/MTd,Release将/MD改成/MT
      

  3.   

    江生成好的dll考到运行目录下 lib文件考到源文件目录 同时添加了头文件 但是在项目里面用的时候只要添加该按钮类的对象程序就启动不了 没有任何反应 也不报错 就是点了运行没反应 但是只要把按钮类成员注释掉 就能运行
      

  4.   


    很抱歉,CSDN的惯例,技术问题一般不私聊。而且偶这里QQ被公司封了
      

  5.   

    dll 里面的类名字是CBottunST 在新对话框里面添加一个该类的成员对象 跟到构造函数都是对的 然后
    到了app里免的 m_pMainWnd = &dlg; 这句话就跟不下去了 说冲突 问题肯定出在那个dll上面 如果不适用dll 而是直接添加按钮的cpp文件进去 一切正常
      

  6.   

    我用depend工具打开该dll的时候左侧的dll列表里面会有两个黄色的问号 一个是msvcr90d.dll 还有一个是ieshims.dll 不知道是不是和这个有关
      

  7.   


    应该没关系。
    你得继续跟进DLL看看,具体报什么错
      

  8.   

    我在它 的构造函数里面加了断点 跟进去一切正常 单步跟踪 就是执行上一句话的时候 出错 提示信息是:
    xx。exe中的0x774255ea处未处理的异常:0xC0000005:写入位置与0x00030ff4时发生访问冲突
      

  9.   

    debug运行时库选mtd的话会有fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds的错误提示 不通过 哎  麻烦了  有空再帮我想想是咋回事 在省城dll的时候运行时库应该选什么的