我是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) |