问题比较初级,多谢大家告知,或者给我个教程也可以。是C++程序,在VS 2005中封装,急用。

解决方案 »

  1.   

    你要封装成什么样?如果是动态库?创建一个Win32 DLL工程,把要导出的内容用__declspec( dllexport )导出就可以了。
    参考:http://www.codeproject.com/KB/DLL/XDllPt1.aspx
      

  2.   

    封装成API和封装成DLL有区别么,我对封装还没什么概念。
      

  3.   

    To oldmanzhao:下了你给的参考代码,编译时出现--------------------Configuration: DLL1 - Win32 Debug--------------------
    Compiling...
    EXE1Dlg.cpp
    d:\program files\microsoft visual studio\myprojects\proj\exe1\exe1.h(8) : fatal error C1189: #error :  include 'stdafx.h' before including this file for PCH
    Error executing cl.exe.DLL1.dll - 1 error(s), 0 warning(s)
      

  4.   

    关于上面的错误在vc6.0中可以采用如下方法:Project->Setting->C/C++选项卡,然后在Category中选择"Precompiled Headers"然后设置"Not using Precompiled Headers"
      

  5.   

    为何编译出来的结果除了DLL文件还有两个后缀为dll.embed.manifest和.dll.intermediate.manifest的文件?是怎么回事
      

  6.   

    Linking...
    EXEDlg.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl GetCpuSpeed(void)" (__imp_?GetCpuSpeed@@YAHXZ)
    EXEDlg.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall CDLL1::GetCpuSpeed(void)" (__imp_?GetCpuSpeed@CDLL1@@QAEHXZ)
    Debug/EXE.exe : fatal error LNK1120: 2 unresolved externals
    Error executing link.exe.EXE.exe - 3 error(s), 0 warning(s)
    这俩问题是怎么回事,lib文件设置好了啊
    还是参考的例子
      

  7.   

    #pragma comment(lib, "Test.lib")这个加了没?
      

  8.   

    动态引用,封装的时候可以直接加一个 .def 文件,在里面加"EXPORTS"回车加你要导出的函数.引用的时候,LoadLibrary你的DLL文件  再GetProcAddress获取你的导出函数地址,然后按照你的导出函数的定义加参数,记得要FreeLibrary你的DLL句柄
      

  9.   

    把生成的Lib和DLL拷贝到EXE文件的目录下。
      

  10.   

    拷贝到EXE目录下也一样是这三个错误
    #pragma   comment(lib,   "Test.lib")也加了
      

  11.   

    我去试了一下,但是在我这里什么问题也没有啊,不知道你是不是做了什么改动,主要也就是要注意载入DLL的Lib文件,这个工程里是Dll1.lib。