公司有自己的网络库,我需要把其中的几个类导出为dll,我发现单纯在类上加_declspec(dllexport) 能导出为dll,但没有办法调用,请问要如何做。类分布在不同的头文件中,这个库包括内存操作和网络操作,其中网络操作中使用内存操作的类,线程操作的类,请问如何弄阿

解决方案 »

  1.   

    寻一个dll高手 
    msn   [email protected]
      

  2.   

    导出类的话必须是MFC扩展类,这样做出来的东西,在其它语言下好像不能调用,在C语言下非MFC环境我估计都不能调用何况是C#了。不过我不太确定。
      

  3.   

    你是别的地方错了._declspec(dllexport)对vc编译器来说就可以用了。
    当然,你必须把随dll生成的到入库加入到工程里,大概这样 #pragma comment (lib,"yourlib.lib")
      

  4.   

    导出类的话必须是MFC扩展类,这样做出来的东西,在其它语言下好像不能调用,在C语言下非MFC环境我估计都不能调用何况是C#了。不过我不太确定。确实是不能在非MFC框架下用的;MFC Regular和win32 DLL就可以在win32和MFC中调用
      

  5.   

    使用def文件不可以吗?
    在工程里面新建一个def文件,比如myclass.def
    输入
    EXPORTS
    a   //你要导出的函数的名称
      

  6.   

    在类上加_declspec(dllexport),同时建立一个*.def文件。里面加上exports
     classname
      

  7.   

    在类上加_declspec(dllexport),同时建立一个*.def文件。里面加上EXPORTS
     classname - 要导出的类名或其他变量。这样可以使用Loadlibrary动态导出,不用lib都行。
      

  8.   

    “导出类的话必须是MFC扩展类”,也未必。
    我的 HugeCalc.dll 导出的就有普通类。
      

  9.   

    你说的没办法调用是指编译不通过吧,那么提供头文件就好了。如果还不行,是语言不同吧?
    如果你说的是连接不成功,那么提供头文件时别望了把__declspec(dllexport)改成__declspec(dllimport)还有提供LIB文件。另外编译器要兼容,否则两种编译器产生的符号名不同,一样连接不成功。
      

  10.   

    你说的问题是什么?是编译不过还是什么?首先用DEPENDENCE看有没有做正确的DLL导出,如果是正确的就是引用错了。
    引用错误包括没有引入指定的库,PROJECTS SETTINGS的配置,函数语法的错误。。