今天用 vc2005 编译程序的时,Debug 版本可以生成可执行文件,并成功运行,但 release 版本在连接时出现问题,报出的错误如下:
1>Linking...1>EnumProtocals.obj : fatal error LNK1276: invalid directive 'Visual' found; does notstart1>Build log was saved at "file://d:/MyProjects/VC2005/WinNet/SimpleTest/EnumProtocals/Release/BuildLog.htm"1>EnumProtocals - 1 error(s), 1 warning(s)
我所编译的程序的片段如下:
#pragma comment(lib, "C://Develop//Microsoft Visual Studio 8//VC//PlatformSDK//Lib//WS2_32.Lib")
错误信息中说在连接中有无效的指令 "visual"。由此可以推断 VC2005 的连接程序存在 bug :当连接的库的路径名中有空格时,连接失败。当该路径添加到工程中的属性中,程序片段改为如下形式:
#pragma comment(lib, "WS2_32.Lib")
则releasse 版本编译连接正确,可以生成可执行程序。