在VS2010里编了个程序,编译完全正确;后来人家要2005版的,所以重新做了2005版的,编译时提示:找不到“aaa.lib;bbb.lib”。
aaa.lib和bbb.lib是我在工程属性的Link-Input里设置的库文件,但这显然是把aaa.lib;bbb.lib作为一个整体字符串来识别了,怎么回事?
后来发现,虽然在VS2010里,lib文件直接可以用分号来分隔,但是在VS2005里,需要用空格分隔。
然后,改成aaa.lib bbb.lib,再编译,提示:
1>fatal error C1007: unrecognized flag '-typedil' in 'p2'
1>LINK : fatal error LNK1257: code generation failed
上网查资料发现,应该是这个VS2005的程序引用了其他版本的VS编译出来的dll或者lib文件。
而我的bbb.lib就是在VS2010里编译出来的!
那么我试着在VS2005里来编译bbb.lib,由于bbb.lib(事实上就是jpeg.lib)是开源库,目前只找到了在VS2010下的编译办法,至于2005下编译,我再想想……