打开VS,新建一个空的控制台应用程序,添加源文件,选择.idl格式。
命名后点击确定,编写接口描述。重点:可以在文件上单击右键,选择属性,输出文件,这个页面可以更改输出文件名字。
点击编译,在输出文件夹中生成4个文件(其实还有一个.tlb,看你在刚才的输出设置页面中设置它输出在哪)。
上述编译生成后,可以在同工程新建一个空的DLL项目,也可以另建,把刚才生成的4个文件添加到项目中。
在DLL项目中新建.def文件
;def 文件内容类似如下:
LIBRARY Prj.dll
DESCRIPTION ‘Prj.dll proxy/stub DLL’
EXPORTS
DllGetClassObject @1 PRIVATE
DllCanUnloadNow @2 PRIVATE
DllRegisterServer @3 PRIVATE
DllUnregisterServer @4 PRIVATE
之后在DLL项目属性中设置如下:
1) 选择C/C++栏,点击Preprocessor,在Preprocessor Definitions列表框,加入REGISTER_PROXY_DLL和_WIN32_DCOM。
2) 选择Link栏,点击Input,在Additional Dependencies中加入rpcrt4.lib。(rpcns4.lib加入也可以,但不能加入rpcndr.lib会提示报错,百度发现说VS2008版之后取消了rpcndr.lib)
3) 选择Build菜单。