📄 readme.windows-mscv
字号:
Note:
1) Use gnumake instead of NMAKE, use separate Makefile for msvc, to avoid conflict. All related
Makefiles has suffix .msvc. Need to have VC++7.0 (.NET 2003) set up in environment. obj files will
use suffix .obj; lib file will use suffix .lib.
2) Template instantiation caused multiple copies of the same function existing in different lib,
which cause fatal link error. Use /FORCE:MULTIPLE & /IGNORE:4006 /IGNORE:4221 to get around and
suppress massive linker warnings. /IGNORE is not officially documented!
3) Debug support. make -f Makefile.msvc OPTION=_g will generate .EXE and .PDB file, which can be used
by VC IDE for debugging. However, gdb could not use the symbol information.
4) Profiling support. make -f Makefile.msvc OPTION=_p will generate .EXE and .MAP file, which could be
used for profiling with PREP/PROFILE/PLIST. However VC++7.0 does not seem to have these tools. Only VC++6.0
does.
5) Purify support. Not need for explicit purify support. In windows, purify can directly work with .EXE
6) OPTIMIZATION. only used -O2. VC++ has other optimization flags, which developer could use.
7) Does not support htk module for msvc, given no linkable libs.
Some change may need second check:
8) Added extra operator [] for Array and StaticArray, to avoid some amguity problems when compiling with VC.
9) Changed some definition of XXX::estimate & XXX::prepareCounts. Basically change "const unsigned int node"
to "unsigned int node", to remove warnings in VC compiler.
10) Fixed some small bugs in lm/nbest-lattice.cc, flm/FNgramSpecs.h, which may change program behaviour.
11) for lm and flm, ignore "-u matherr" LD flag, since I could not find equivalent counterpart in VC++.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -