bin/link:extra operand"/>
/usr/bin/link:extra operand
在使用cygwin配合vs2010编译dds库时出现该问题
/usr/bin/link:extra operand
原因是链接时使用的link.exe
程序是cygwin系统中自带的,而应该调用的是msvc的link.exe
。
在命令行中输入link --help
,明显是gnu的link.exe
程序,而此link.exe
程序与c++的编译链接没有任何关系,自然会出现错误
解决办法就是将cygwin中使用的link.exe
默认设置为调用msvc的link.exe
。
大概就是环境变量的配置问题。
自己使用了一种笨方法:
$ mv /usr/bin/link.exe /usr/bin/link.exe.bak
$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 10.0/VC/bin/link.exe /usr/bin/link.exe
将cygwin自带link.exe改名,新建一个link.exe软连接,指向msvc的link。这样cygwin调用的就是msvc的link了
之后能够正常进行编译链接
解决办法:
只需要确保系统环境变量位置保持在cygwin环境变量位置之前就可以了,系统会优先搜索msvc的link.exe
程序
在vs的命令提示工具中
set PATH=%PATH%;C:\cygwin
而不是
set PATH=C:\cygwin;%PATH%
之后使用vs命令提示工具对项目进行编译就可以了
更多推荐
/usr/bin/link:extra operand
发布评论