Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 编译Sqlite3.C的Visual studio命令提示符中缺少C头文件_C++_C_Visual Studio_Sqlite - Fatal编程技术网

C++ 编译Sqlite3.C的Visual studio命令提示符中缺少C头文件

C++ 编译Sqlite3.C的Visual studio命令提示符中缺少C头文件,c++,c,visual-studio,sqlite,C++,C,Visual Studio,Sqlite,当我试图从VisualStudio2017开发者命令提示符(MSVC)编译sqlite3.c文件时,我得到了缺少c头文件的错误。我已在visual studio安装程序中选择了C&CPP开发所需的所有选项/工作负载。不确定我遗漏了什么参考资料。 这是我的示例输入 cl shell.c sqlite3.c -Fesqlite3.exe 以下是回应: 针对x86的Microsoft(R)C/C++优化编译器版本19.16.27042 版权所有(C)微软公司。版权所有 shell.c shell.c

当我试图从VisualStudio2017开发者命令提示符(MSVC)编译sqlite3.c文件时,我得到了缺少c头文件的错误。我已在visual studio安装程序中选择了C&CPP开发所需的所有选项/工作负载。不确定我遗漏了什么参考资料。 这是我的示例输入

cl shell.c sqlite3.c -Fesqlite3.exe
以下是回应:

针对x86的Microsoft(R)C/C++优化编译器版本19.16.27042 版权所有(C)微软公司。版权所有

shell.c shell.c(85):致命错误C1083:无法打开包含文件: “stdlib.h”:没有这样的文件或目录sqlite3.c:\Program Files (x86)\Microsoft Visual Studio Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xmmintrin.h(79): 致命错误C1083:无法打开包含文件:“malloc.h”:没有此类文件 或目录


根据Microsoft文档,错误C1083主要由以下原因引起

文件不包括在包含搜索路径中

编译器无法使用指定的搜索规则找到该文件 由#include或#import指令指示。例如,当 头文件名用引号括起来

#包括“myincludefile.h”

这告诉编译器在同一目录中查找文件 首先包含源文件,然后查找其他位置 由生成环境指定。如果引号包含 绝对路径,编译器仅在该位置查找文件。 如果引号包含相对路径,编译器将查找 目录中相对于源目录的文件

如果名称用尖括号括起来

#包括

编译器遵循生成定义的搜索路径 环境、/I编译器选项、/X编译器选项和 包括环境变量。有关更多信息,包括特定的 有关用于查找文件的搜索顺序的详细信息,请参阅#include 指令(C/C++)和#导入指令

如果包含文件位于相对于源的另一个目录中 目录,并且在include指令中使用相对路径 必须使用双引号而不是尖括号。例如,如果您的 头文件myheader.h位于项目源的子目录中 命名的头,则此示例无法找到文件并导致 C1083:

#包括

在我看来,原因是:stdio.h这些头文件不在路径中,不在VS2017的默认路径中,导致VS2017找不到这些头文件

我建议您可以在
Properties
中添加以下路径

VC++目录->包含目录:C:\Program Files(x86)\Windows 工具包\10\Lib\10.0.17134.0\ucrt

VC++目录->库目录:C:\Program Files(x86)\Windows 工具包\10\Lib\10.0.17134.0\ucrt\x86


如果它仍然不能工作,那么Windows SDK可能有问题。我建议您重新安装Windows SDK。

我认为默认SDKA有问题,我正在MSVC命令提示符下编译这些东西,您能简要介绍一下如何包含这些路径吗?您只需要将文件路径添加到环境变量。我需要使用新变量名添加它们,还是需要链接到现有变量?不需要使用新变量名。您能更具体一点吗,。我对这个概念很陌生。