首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cl.exe /c -命令行警告D9002

cl.exe /c -命令行警告D9002
EN

Stack Overflow用户
提问于 2020-09-22 07:03:21
回答 1查看 744关注 0票数 0

我正在尝试从命令行使用微软的编译器(cl)来生成未链接的目标文件:

代码语言:javascript
运行
复制
cl /c /nologo /OUT:main.obj main.c

main.c是一个空的main函数:

代码语言:javascript
运行
复制
int main( void ) { return 0; }

生成了对象文件,但cl输出了几个D9002警告:

代码语言:javascript
运行
复制
cl : Command line warning D9002 : ignoring unknown option '/OU'
cl : Command line warning D9002 : ignoring unknown option '/OT'
cl : Command line warning D9002 : ignoring unknown option '/O:'
cl : Command line warning D9002 : ignoring unknown option '/Om'
cl : Command line warning D9002 : ignoring unknown option '/Oa'
cl : Command line warning D9002 : ignoring unknown option '/On'
cl : Command line warning D9002 : ignoring unknown option '/O.'
cl : Command line warning D9002 : ignoring unknown option '/Oo'
cl : Command line warning D9002 : ignoring unknown option '/Ob'
cl : Command line warning D9002 : ignoring unknown option '/Oj'

据我所知,这些都是链接器选项,它们会自动传递给cl,因为它也用于链接。

然而,在我的例子中,由于我没有调用链接器(通过指定/C),cl似乎被这些意外的默认选项搞糊涂了。

有没有办法覆盖这些默认选项,或者抑制这些警告的输出?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-22 08:23:42

/OUT不是编译器选项。如果要在不使用链接的情况下进行编译,请使用以下命令行:

代码语言:javascript
运行
复制
cl /c /nologo main.c

目标文件的名称由源文件名隐含。前面的编译器调用输出main.obj。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64000992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档