cl 中缺少标准 C 库

Posted

技术标签:

【中文标题】cl 中缺少标准 C 库【英文标题】:Missing standard C libraries in cl 【发布时间】:2013-07-31 22:31:01 【问题描述】:

我有一个带有 Makefile.vc 的 Windows 项目。我想将此导入 Visual Studio 10.0。我最初的努力是运行 nmake 并调用 cl.exe 编译器。

在获得一些直路后,我的第一次运行会生成以下消息:

        cl  /nologo /W3 /O1 -I..\./ -I..\charset/ -I..\windows/ -I..\unix/ -I..\macosx/ /D_WINDOWS /D_WIN32_WINDOWS=0x500 /DWINVER=0x500 /DHAS_GSSAPI /DSECURITY
_WIN32  /c ..\be_all_s.c
be_all_s.c
..\be_all_s.c(6) : fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2'
Stop.

现在我知道 VC stdio.h 标头在哪里,在我的 PC 上它位于 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include。因此,将 -I 添加到 makefile 并包含此目录将是一件简单的事情。

但我认为我不应该这样做!其他构建系统不会让我这样做,为什么命令行编译器不知道其标准头文件的安装位置?所以我问是否有配置文件、.ini 文件或 cl 读取的其他内容,告诉它在哪里寻找标准 C 库。我一直在浏览互联网和 Visual Studio 帮助,但没有成功。

【问题讨论】:

【参考方案1】:

在我发布问题后,我找到了答案。

开始 > 所有程序 > Microsoft Visual 10.0 > Microsoft Visual Studio 工具 > Visual Studio 命令提示符

这给了我一个包含所有路径的命令提示符,env。变量等设置。

为什么我没有早点发现?

【讨论】:

以上是关于cl 中缺少标准 C 库的主要内容,如果未能解决你的问题,请参考以下文章

在C中,啥是标准库函数?

C++--标准库 字符串类

c++标准库都有哪些?

什么是C语言标准函数库?平常用的哪些函数属于标准函数库?

C语言为啥可以重写标准库函数?

c语言标准函数库的signal.h