Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1652050
  • 博文数量: 245
  • 博客积分: 10378
  • 博客等级: 上将
  • 技术积分: 2571
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 08:19
文章分类

全部博文(245)

文章存档

2013年(4)

2012年(8)

2011年(13)

2010年(68)

2009年(152)

分类: WINDOWS

2010-08-31 17:53:45

我是Linux阵营的支持者,使用 Visual Studio 2005实属无奈,问题还挺多.

现在总结如下:
1。 无法找到相应的头文件
解决方法:
添加相应头文件所在目录到 Visual Studio 2005,过程:解决方案下的相应项目->右键到属性->
配置属性->c/c++->常规项中的附加包含目录,在这加入即可.

2.无法找到相应的dll lib等,或者提示error LNK2001: 无法解析的外部符号 xxxxx 这就是没有加入相应的lib dll等
解决方法:
添加相应库文件 dll动态库所在目录到 Visual Studio 2005,过程:解决方案下的相应项目->右键到属性->
配置属性->链接器->常规项中的附加包含目录, 在 链接器->输入的附加依赖项中加入相应的库名. 这可即可

3.fatal error LNK1169: 找到一个或多个多重定义的符号,同一个函数在多个库中被实现.
解决方法:
 当.h文件里有函数实现时
 VS2005编译器报此错误,

1.在.h里的函数声明前加 inline
2.在项目->属性->链接器->命令行->附加选项中加   /force   [这条摘自网络]

还需要注意:很多时候编译器会提示要去掉默认依赖库,这个提示往往是错误的.
可以尝试忽略某个库.
操作:    链接器->输入的忽略特定库,这里添加要忽略的库.

如果这样还不行,需要注意vc的特殊性: 即MFC的使用,有三种方式:  标准windowns  动态库中使用MFC  静态库中使用MFC, 如果使用LIB,就需要选择"静态库中使用MFC",如果使用了DLL,就需要选择"动态库中使用MFC".

具体操作: 

解决方案下的相应项目->右键到属性->
配置属性->常规的, 在这里配置相应的选项即可. 基本上问题都能解决.

4。error LNK2001: unresolved external symbol __invalid_parameter_noinfo
   
出现此类错误的主要原因,很可能是在debug模式编译程序时,其他依赖的库并不是debug模式编译的.
所以如果你要debug编译一个程序,依赖的相关库也应该是debug模式编译的,在debug模式下,会有一些符号是专用的.需要注意.

5. 0x00xxxxx 处未处理的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突

这种错误明显就是指针越界, 0xc0000005是一个只读区域,对此区域进行写访问就会发生冲突, 这种错误要仔细检查指针的使用.

关键字:  Visual Studio 2005  vc  库冲突    error LNK2001  error LNK1169

  

阅读(3184) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~