作者:cuicui
这个问题的关键是如何配置MSVC
工具:VS2017
要编译的sqlite3源代码从https://www.sqlite.org/download.html下载
官方说明中的方法是
cl shell.c sqlite3.c -Fesqlite3.exe
如果没有配置MSVC是无法编译的。经过自己实验,用下面这个方法就可以解决问题。
具体原理是这样的在环境变量中添加cl.exe的路径,另外增加LIB和INCLUDE两个环境变量。cl.exe会运行在{软件安装目录}\Common7\Tools文件夹下的VsDevCmd.bat把LIB和INCLUDE导入进来。
下文是操作方法
注意:请替换为自己的安装目录
那么添加cl.exe的路径到PATH中
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\
新建一个LIB环境变量,填入
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64
新建一个INCLUDE环境变量,填入
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um
也可以只用命令行来编译
“D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe”
/W4 shell.c sqlite3.c -Fesqlite3.exe
/I “C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt”
/I “D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include”
/I “C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared”
/I “C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um”
/link /libpath:“C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64”
/libpath:“D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64”
/libpath:“C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64”
就可以啦