GNU or MS? 此link非彼link !

补上今天引发环境变量大研究的case。。。

----------------  分割线 -------------------

 

今天手动调侯捷的深入浅出MFC中的样例。

结果make过程中遇到奇怪错误:

 

link: invalid option -- s
Try `link --help' for more information.

 

看了下样例里的GENERIC.MAK 的相关几行:

 

generic.exe : generic.obj generic.res
    link /MACHINE:I386 -subsystem:windows generic.res generic.obj /
         libc.lib kernel32.lib user32.lib gdi32.lib

我怀疑是/machine -subsystem等参数的问题

上网查了一番,倒搞清了很多细节问题,比如:

  Project Settings->Link参数的设置

  速查:Linker Reference  - msdn

  速查:VC++Project Setting中各参数解释

 

照着资料,发现咋这里的link参数这么奇怪呢

资料上明明是/SUBSYSTEM

这里咋成了-subsystem

 

疑惑中,尝试将-subsystem改成/SUBSYSTEM再试

结果错误变了:

 

kernel32.lib user32.lib gdi32.lib
link: extra operand `generic.res'
Try `link --help' for more information.

这下彻底傻眼。

晕了一份来钟,好吧,那就按提示说的,看看帮助里说些啥吧。

 

这一打帮助,立即囧掉。

 

Usage: link FILE1 FILE2
  or:  link OPTION
Call the link function to create a link named FILE2 to an existing FILE1.

      --help     display this help and exit
      --version  output version information and exit

Report bugs to <bug-coreutils@gnu.org>.

 

我的天哪,搞了半天我是在用GNU的linker在链接。

 

去系统的环境变量找了一番,发现原来是它搞的鬼:

 

%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/system32/Wbem;C:/cygwin/bin;%MSSdk%/Bin;%MSSdk%/Bin/WinNT;F:/Microsoft Visual Studio/Common/MSDev98

 

将红色部分移到最后,问题解决。

 

 

环境变量,以后得小心哪!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值