微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cl.exe /I \include 被忽略

如何解决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 举报,一经查实,本站将立刻删除。