error LINK2005错误现象之一

最近接触C++Primer,用vs2008编译时出现莫名其妙的错误

很久没玩2008了,无聊用vs2008编译了一个最简单的程序

#include"iostream.h"
#include"iomanip.h"
int main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
cout<<j<<'*'<<i<<'='<<setw(2)<<i*j<<' '<<' ';/*如果此句换成cout<<i<<'*'<<j<<'='<<i*j<<'  '则输出结果有问题,为什么呢?*/
}
cout<<endl;
}
return 0;
}

首先出现1>LINK : fatal error LNK1104: 无法打开文件“libcimtd.lib” ,由于最近硬盘出现坏道,我以为是文件损坏

就找了libcimtd的库文件以及另外一个库文件 用大写命名 复制到里面,发现可以运行了,但是勉勉强强,但是iostream.h不是标准的C vs2008使用标准C,只用#include<iostream>,并使用命名空间来规范输出 同时#include<iomanip> 这个时候出现新的错误

1>正在链接...
1>LINK : 没有找到 C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Test1\Debug\Test1.exe 或上一个增量链接没有生成它;正在执行完全链接
1>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::bad_cast::bad_cast(char const *)" (??0bad_cast@std@@QAE@PBD@Z) 已经在 Test1.obj 中定义

1>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" (??0bad_cast@std@@QAE@ABV01@@Z) 已经在 T

查阅资料大概明白,可能是库冲突或者头文件定义不明确或者重定义,这可能是我编译的预读取路径错误,突然想起最近编写驱动的时候设置了
 D:\WINDDK\3790.1830\inc\crt    以及设置了一系列默认库 可能是这些设置产生了冲突,删掉这一行,程序正确执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值