如何解决cl.exe /I \include 被忽略
我正在尝试使用 cl.exe 和 vscode 任务编译 SDL2 程序。 出于某种原因,/I 标志被 cli 中的 cl.exe 完全忽略。 任务指定为:
{
"tasks": [
{
"type": "cppbuild","label": "C/C++: cl.exe build active file","command": "cl.exe","args": [
"/Zi","/EHsc","/nologo","/Fe:","${workspaceFolder}\\build\\hello.exe","${workspaceFolder}\\src\\*.cpp","/I C:\\Users\\stackoverflow\\path\\to\\include\\folder\\include\\","/link C:\\Users\\stackoverflow\\path\\to\\include\\folder\\lib\\x86\\SDL2main.lib C:\\Users\\stackoverflow\\path\\to\\include\\folder\\lib\\x86\\SDL2.lib"
],"problemmatcher": ["$msCompile"],"group": {
"kind": "build","isDefault": true
},"detail": "Task generated by Debugger."
}
],"version": "2.0.0"
}
出于某种原因,如果我在代码中指定整个路径,它只会找到头文件,例如:
#include <C:\Users\stackoverflow\path\to\include\folder\include\SDL2\SDL.h>
但它给出了致命错误 C1083:无法打开包含文件:<...> 没有这样的文件或目录 当我使用:
#include <SDL2\SDL.h>
官方文档表明它应该可以工作:docs
visual studio 使用开发者 cli 时出现同样问题。 我在这里错过了什么?
更新:
当我删除 /I like so 之前的空格时它会起作用:
"/IC:\\Users\\stackoverflow\\path\\to\\include\\folder\\include","/linkC:\\Users\\stackoverflow\\path\\to\\include\\folder\\lib\\x86\\SDL2main.lib C:\\Users\\stackoverflow\\path\\to\\include\\folder\\lib\\x86\\SDL2.lib"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。