VS2008 编译 链接器错误以及使用C语言函数的警告
来源:互联网 发布:华为云计算大会2016 编辑:程序博客网 时间:2024/06/05 02:25
在使用VS做项目的时候,在VS2005的版本开始,经常会出现两类错误,一个是在编译的时候,连接器经常死掉,无法成功编译,另外一个是使用了C语言函数后,会发出警告。
下面分别来说说这两个问题的解决方案。
一,链接器无法正常工作的解决方法:
在使用VS开发,进行编译时,往往在语法没有错误的情况下,依然会频繁的出现链接失败,通常情况下,再build一次就好了。这个问题往往是由于增量链接导致的,可以在项目的属性中,进行配置,不进行增量链接,就可以解决这个问题了。具体步骤是,project->Properties->Linker->Enable Incremental Linking设置为No(/Incremental:NO)即可。中文版的是工程->属性->链接->增量链接,设置为NO。默认情况下,这个设置是YES,当设置为NO时,链接器无法正常工作的问题往往都能解决了。
二、使用C语言函数报警告的解决方法:
在开发过程中,若使用了某些C语言函数,可能会遇到很多警告,如
warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>
等等诸如此类的警告,这些警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。
1> 根据下面的warning提示:参见“fopen”的声明
2> 还是根据warning提示的地三句话:use _CRT_SECURE_NO_DEPRECATE
3> 降低警告级别:项目|属性|配置属性|C/C++|常规,自己根据情况降低警告级别(此法不推荐)
- VS2008 编译 链接器错误以及使用C语言函数的警告
- C语言的编译过程常见的错误和警告
- 宏和函数的区别以及C语言的编译链接过程
- C语言 - 链接字符串函数的使用
- linux下C语言编译报错gets函数警告
- vs2008编译tamarin出现错误c2220:警告被视为错误
- VS2008编译C语言程序
- VS2008编译C语言出错
- C语言编译、链接
- c语言编译链接
- C语言编译 链接
- c语言编译链接
- 16种C语言编译警告(Warning)类型的解决方法
- 23 C语言程序的错误和警告
- C语言——关于编译运行过程以及链接的遐想
- C语言的编译链接过程
- C语言的编译链接过程详解
- C语言的预处理、编译、汇编、链接
- 十年10M网速
- 用GDB调试程序
- Android4.0 SDK新功能详解
- 测试greeplum数据库连接
- HDU 2222 AC自动机经典题目
- VS2008 编译 链接器错误以及使用C语言函数的警告
- C#流(stream)
- Maven Web 项目
- IE8 中"HTML Parsing Error:Unable to modify the parent container element before the child element is c
- Windows 各种计时函数总结
- 函数名与函数指针
- java与maven的环境配置
- Nagios短信报警功能通过飞信实现
- 前台处理小技巧积累