遇到的问题
在用Visual Studio 2012编译一个老C++程序时,出现一下编译错误:
error LNK1117: syntax error in option ‘VERSION:1.20b’
查MSDN,最终解决办法是:
在项目属性的Linker属性中,Version设置有误:
把这项设置改为1.20,就解决了这个编译错误了。
MSDN上的解释
MSDN上的解释:
/VERSION (Version Information)
https://msdn.microsoft.com/en-us/library/h88b7dc8.aspx
根据这篇文章,原先程序的Version属性设置为1.20b是不对的,因为无论是Major Version还是Minor Version都应该为0 - 65535之间的数值。
这一项设置的用意是在可执行文件(.exe或.dll)的header中放置一个版本信息,此版本信息可以通过以下命令读出:
DUMPBIN /HEADERS
原来这个程序是在Visual Studio 2005中编译的,能顺利编译,但是在Visual Studio 2012中就通不过了。看来Visual Studio 2012在这一点上纠正了原来Visual Studio 2005中的bug。