Steps:
1. 使用2003以上的VC版本。我用的是2005。2. 编译安装stlport5.1。方法为:用Visual Studio 2005 Command Prompt进入%stlport%/build/lib目录,nmake /f msvc.mak,再nmake /f msvc.mak install。然后设置环境变量:把%stlport%/stlport加入到include,把%stlport%/lib加入到lib。
3. 安装Intel Fortran Compiler。设好环境变量,包括path(bin),include(Include),lib(Lib)。
3. 下载jam.exe,maxent的主页上有。
4. 设置环境变量MSVCDIR=C:"Program Files"Microsoft Visual Studio 8"VC。这个变量用于告诉maxent用VC的编译器编译。参见jamrules文件。
5. 把%stlport%/stlport复制到(MSVCDIR)/stlport/stlport下。参见Key4。
6. 在maxent的根目录下运行jam.exe,就可以了。
Notes:
1. 编译STLPort时不要configure,直接nmake /f msvc.mak再nmake /f msvc.mak install即可,否则会出现版本问题,导致VC的链接错误。boost好像不用安装也可以。
2. 环境变量的设置方法不是右击"我的电脑",而是直接修改文件:"C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"。
3. 关于LNK2001错误(unresolved external symbol “symbol”),如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。
4. maxent的jamrules有点奇怪,它居然认为STLPort的include目录在(MSVCDIR)/stlport/stlport下(参见jamrules文件)。所以需要手工从STLport下把这个文件夹拷过来。