C++ 编译Sqlite3.C的Visual studio命令提示符中缺少C头文件
当我试图从VisualStudio2017开发者命令提示符(MSVC)编译sqlite3.c文件时,我得到了缺少c头文件的错误。我已在visual studio安装程序中选择了C&CPP开发所需的所有选项/工作负载。不确定我遗漏了什么参考资料。 这是我的示例输入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
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命令提示符下编译这些东西,您能简要介绍一下如何包含这些路径吗?您只需要将文件路径添加到环境变量。我需要使用新变量名添加它们,还是需要链接到现有变量?不需要使用新变量名。您能更具体一点吗,。我对这个概念很陌生。