(1)首先设置环境变量
我的visual studio 2005的安装目录为E:/program/Microsoft Visual Studio 8, 所以设置include, lib, path的.bat文件为 :
@echo off
set include=E:/program/Microsoft Visual Studio 8/VC/PlatformSDK/Include;
E:/program/Microsoft Visual Studio 8/VC/Include
set lib=E:/program/Microsoft Visual Studio 8/VC/PlatformSDK/Lib;
E:/program/Microsoft Visual Studio 8/VC/Lib
set path=E:/program/Microsoft Visual Studio 8/VC/bin; %path%
echo on
(可以为include 和 lib 设置多个路径)
仅仅设置好环境变量还是不够的,否则,ml编译的时候会弹出“无法找到组建”的错误对话框,错误的信息是:”没有找到mspdb80.dll,.....”。 mspdb80.dll位于E:/program/Microsoft Visual Studio 8/Common7/IDE和E:/program/Microsoft Visual Studio 8/Team Tools/Performance Tools目录下,注意,这时即使把这两个目录加入Path 中,系统仍找不到mspdb80.dll,并弹出同样的错误对话框,这可能是vs2005自身的bug。所以,只能将mspdb80.dll拷贝到 E:/program/Microsoft Visual Studio 8/VC/bin下。
(2)编译、连接
环境变量设置好了,编译和连接的命令是很简单的。
编译命令:ml /c dllname.cpp (也可以加 /coff ,编译成coff格式的.obj文件)
我是用.def文件导出函数,所以连接的命令是:
link /dll /dllname.obj /def:defname.def
其中,dllname为dll的名字,defname同理。
生成dll后,下面就是编写程序调用了。