我正在尝试在VS2013中编译非常简单的C代码。我事先做了一些谷歌搜索,我意识到我需要遵循某些步骤,例如Default
,Compile As C Code
在项目属性中将编译器从更改为。
问题是当我编译以下代码时:
#include <stdio.h>
main()
{
printf("Hello World! \n");
sleep(5);
}
我得到这些错误:
Error 1 error LNK2019: unresolved external symbol _sleep referenced in function _main
Error 2 error LNK1120: 1 unresolved externals
如果我将代码更改为:
#include <stdio.h>
#include <Windows.h>
main()
{
printf("Hello World! \n");
Sleep(5000);
}
然后工作正常。
如何使我的第一个代码成功编译?我在C中有一些经过测试的代码,需要使用它们。如果无法解决以上问题,则必须更新所有语法。
如何使我的第一个代码成功编译?
您不能(至少与您声明的这段代码完全一样)。关键是,<stdio.h>
标头不提供sleep()
C标准所要求的声明,每个函数都需要在调用之前声明。就这么简单。
第二件事是sleep()
您可能需要从POSIX(特别是从<unistd.h>
标头)获得的功能。但是,Visual Studio 2013不兼容POSIX。因此,该解决方案是使用Sleep()
中,在声明的<Windows.h>
报头或可能的一些其它的替代方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句