Win10命令行窗口编译C代码

时间:2024-05-21 18:42:34

最近在看《C/C++实践进阶之道》,书中一章介绍自己动手编写小工具,在cmd中用简单的命令运行代码,非常方便,我感觉比 在cmd中用bat文件运行python方便多了。所以花了两天时间终于把环境给配置好了,记录并分享一下其中的一些问题。

环境变量:打开我的电脑,空白处点一下,然后菜单栏 ‘计算机’ -> 属性 -> 高级系统设置 -> 环境变量,一会弄的都是系统变量

我用的编译器是VS2019,Win10系统 x64

我首先创建了一个.c文件 train.c,里面写了最简单的 “Hello World”

然后百度,知道了 cl 命令来编译(Compile),包括连接(Link)程序。然后问题就来了,一用cl命令

cl train.c

提示

cl’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

说明环境变量(系统变量里的Path)里没有找到cl的一个什么东西的路径,一查知道了是要 cl.exe 的路径。开始找到好多个cl.exe,一个一个挨住试了(我也服了我了,不过好在还是有用????)。
这里只需要看一下文件的路径,它最后有x86,x64,amd64还有一些奇奇怪怪的,自己的处理器是什么就找相应的就好,不过这么筛选下来还是有几个保留着,我也不知道怎么分辨,知道的小伙伴可以分享一下吗????

再来一下

cl train

fatal error C1083: 无法打开包括文件:“stdio.h”: No such file or directory

找不到 stdio.h ,那就找呗,找到后打开相应的文件夹看一下,很好分辨是要那个,我的路径是:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt
还要一个 include 文件夹,包括文件夹的路径:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include
找到这些路径后,在系统变量中新建一个,变量名:include,变量值:这两个路径,它们中间用 ; 隔开,最后不需要 ;
Win10命令行窗口编译C代码
再来

cl train.c

LINK : fatal error LNK1104: 无法打开文件“LIBCMT.lib”

libcmtd.lib ,我的是:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64

LINK : fatal error LNK1104: 无法打开文件“KERNEL32.lib”

kernel32.lib,我的是:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64

还有一个,我忘了少什么了,好像是少一个 libucrt.lib ,我的路径是:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64

最后创建一个新的系统变量,名:LIB,值:上面3个路径(记得 ;

成功啦!????
Win10命令行窗口编译C代码
哦,运行 cl train.c 时,一定要要把当前目录改成你c文件的路径

C:\Users*********> cd/d E:\amusement\CC

还有Hello World不能写错啊????

差点忘了,推荐一个搜索文件的软件 Everything ,搜索非常快,很好用
Win10命令行窗口编译C代码

最后非常感谢这两篇blog,给我非常大启发,大家可以去看看
https://blog.****.net/one0_opiece/article/details/84032730
https://blog.****.net/sinat_24143931/article/details/78729013

相关文章