初学VC++简单项目编译异常

trainli 2010-09-03 03:48:32
本操作系统win2003,装有VS2008和VS2010,在VS2008中新建一个项目编译成功,但在VS2010中新建一个项目编译如下异常:

Error 1 error LNK1146: no argument specified with option '/out:' E:\XXX\w45\w45\LINK w45
Warning 2 warning D4024: unrecognized source file type '?', object file assumed E:\w45\w45\CL w45



不知道那里的配置问题??请高人解决!


声明,VS2010重已经重装过一次,还是同样问题,就差重装系统了!但请不要叫我重装系统 !谢谢!
...全文
303 点赞 收藏 11
写回复
11 条回复
linranguo 2012年10月25日
没遇到过,一直是2005,所以友情帮顶一下
回复 点赞
clever101 2012年10月24日
[Quote=引用 1 楼 的回复:]

解决如下:
http://blog.163.com/ghzh_sd/blog/static/31549662010528458083/
[/Quote]

不一定是这个错误的。有时是你的第三方库的路径所引用的环境变量不存在造成的。
回复 点赞
de520h1314 2012年05月28日
新手, 怎么每次都弹 项目 过期 要重新 生成?
回复 点赞
baowenbo2011 2011年10月30日
http://www.cnblogs.com/rainbowzc/archive/2011/03/20/1989638.html


各位同志啊。。。。。就是这个,就是这个。。。。




最近安装了下vs2010,发现对硬件要求还是很高的,先是在一个一般台式机上安装出现字体发虚的问题,操作系统也是vista sp2,尝试了网上若干方法还是发虚,总结就是硬件的显卡不行,3年前的机器了;遂在自己的笔记本上面进行安装,发现没有字体发虚的问题,看来真是显卡的问题,但是编译一个空项目却出现若干cl 编译的问题,解决方法如下:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin目录下 拷贝c2.dll、cl.exe、cl.exe.config三个文件至C:\Windows\System32,引起编译错误的原因是因为vs2010在编译的时候自动优先查找环境目录,而vista sp2 system32目录下的cl.exe版本较老造成,不知win7是否会这个问题。




就是这样。。。
回复 点赞
baowenbo2011 2011年10月30日
[Quote=引用 1 楼 trainli 的回复:]

解决如下:
http://blog.163.com/ghzh_sd/blog/static/31549662010528458083/
[/Quote]



VS2010编译时候的一个错误解决方法 2010-06-28 16:58:00| 分类: VC的使用 | 标签: |字号大中小 订阅 .

我的电脑上安装了VC6.0,VS2008,VS2010。

使用VS2010直接建了一个C++工程,直接编译,居然报错,报错内容如下所示:

1>------ 已启动全部重新生成: 项目: 2010test, 配置: Debug Win32 ------
1> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
1> Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
1>
1> cl ??
1>
1>CL : Command line warning D4024: unrecognized source file type '??', object file assumed
1> Microsoft (R) Incremental Linker Version 10.00.30319.01
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1> /out:
1> ?.exe
1>LINK : fatal error LNK1146: 没有用选项“/out:”指定的参数
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========





呵呵,这个错误在网上很少有人说,不能因为这个问题就重新安装操作系统啊,于是,一个艰苦而又卓越的查错行动开始了。



在一个外文网站上发现了一个帖子,他是这么说的:

Directly speaking, this problem is caused by using an older version of compiler(cl.exe) than your VS's one. Take a look carefully underlined lines explaining version and copyright of the compiler. Again, that build log was captured from VS2010 but it's saying that copyright is valid in 1984-1998. In VS2008 and VS2010(earlier versions are not tested), when you try to build a project, VS searches a compiler to use for your build. In this step, VS doesn't choose it's own cl.exe directly but searches directories specified in the environmental variable 'path' first. (I think that VS calls cl.exe without path) Because of that, if there's another version of cl.exe in some directory of env-path, VS unexpectedly use it! This is the reason why your VS use an older one than yours. In my case, there was another cl.exe in C:\Windows\SysWOW64(I'm using Windows 7 64bit).



这样看的话我的电脑应该也是这样一个问题。

于是我在我的系统PATH里面所有的目录查找cl.exe。我的系统是XP,然后我在windows/system32目录里面找到了,版本明显的是老的。然后将这个文件和C2.dll换成了新的之后,再次编译,一切都OK了。

呵呵,VS2010这点做的不太好,还是在安装目录查找cl.exe的好。在环境目录查找的话,很可能就会出现我遇到的问题了。



以上是这位同行的博客内容。。。
但是,怎样把cl.exe换成新的呢???
哪里有新的啊,,各种找不到哇》》》》《《《《《《
求继续帮助。
回复 点赞
xiaoluchaotian 2010年09月08日
我也曾经出现过这样的问题,顶楼上
回复 点赞
coldant 2010年09月08日
学习了。。。。。。。。。。。。顶
回复 点赞
healer_kx 2010年09月03日
嗯,看你的blog了。
不错,非常不错!
回复 点赞
trainli 2010年09月03日
解决如下:
http://blog.163.com/ghzh_sd/blog/static/31549662010528458083/
回复 点赞
发动态
发帖子
VC.NET
创建于2007-09-28

7260

社区成员

2.7w+

社区内容

.NET技术 VC.NET
社区公告
暂无公告