请问,做好的MFC应用程序怎么把它做成DLL?由于代码较多,所以不可能重新建个DLL项目,有没有能在程序里面直接转换成DLL的方法?注明:不用新建项目就可以直接转换

解决方案 »

  1.   

    新建一个MFC DLL项目,然后把生成的文件copy过来,加进项目,然后再改代码,
    将Class定义成DLL输出的,然后修改解决方案设置。
    不新建项目也可以啊,但是你要自己写DLL代码,那还不如Copy过来简单啊。
      

  2.   

    新建一个MFC DLL项目,把代码拷过去就可以了
    代码多没关系啊,你只需要拷头文件和源文件,然后加入到工程里
      

  3.   

    我的建议是
    1,直接修改工程文件内容,使其编译连接后生成一个DLL,也就是改成DLL工程
    2,在修改的DLL中导出一个接口函数fun1
    3,通过其它EXE调用该接口函数fun1,启动你的程序
      

  4.   

    exe变dll很简单,我以前就干过。
    不用新建,不用复制,在工程设置里,把类型设置为Dynamic Library (.dll)工程就行了,然后插入一个.def文件,写上你要导出的函数,就OK了。还有一种方法:不用改任何东西,直接插入一个def文件,写上你要导出的函数,调用的时候直接LoadLibrary("XXX.exe"); GetProcAddress()就可以用了从本质上dll和exe都是PE文件结构,二者几乎就是一样的,exe也可以导出函数的。系统内核ntoskrnl.exe就导出了很多内核函数。
      

  5.   


    建个dll工程,原先的功能类导进来
      

  6.   


    楼上们说的可能是在同一平台下的要是vc 的dll c#、dephi用,或到linux下用,那个可能不是很好使吧
      

  7.   

    http://blog.csdn.net/fengbingchun/article/details/6715330
      

  8.   

    添加新工程的时候不是有 MFC DLL 吗 用那个就行,然后生成的DLL 文件,再你的项目直接用就ok了。
      

  9.   

    exe变dll很简单,我以前就干过。
    不用新建,不用复制,在工程设置里,把类型设置为Dynamic Library (.dll)工程就行了,然后插入一个.def文件,写上你要导出的函数,就OK了。还有一种方法:不用改任何东西,直接插入一个def文件,写上你要导出的函数,调用的时候直接LoadLibrary("XXX.exe"); GetProcAddress()就可以用了从本质上dll和exe都是PE文件结构,二者几乎就是一样的,exe也可以导出函数的。系统内核ntoskrnl.exe就导出了很多内核函数。顶12楼
      

  10.   


    请问如何将类型设置为dll
      

  11.   


    以vs2008中文版为例
    项目菜单-工程属性-配置属性-常规-项目默认值-配置类型-动态库(.dll)
      

  12.   


    按你的第一种方法做了,还是不行啊。
    提示:无法启动程序“LOGIN\Debug\LOGIN.dll”
      

  13.   

    还是新建个DLL,移植代码比较妥当。
    调试也方便。
      

  14.   

    要新建一个dll项目
    导出函数这样写:
    #include "StdAfx.h"
    #include "TabDlg.h"
    extern "C"  __declspec(dllexport)  void  Show() 
    {   
    AFX_MANAGE_STATE(AfxGetStaticModuleState());   
    CTabDlg  Dlg;   
    Dlg.DoModal  ();   
    }  
      

  15.   

    代码多没关系,又不需要重新抄一遍。只是把.h和.cpp文件拷到新建的DLL工程中,然后再加载到工程中就可,不需要动键盘,只要动鼠标就行。
    ------------------------------------------------------------------------