ccls
ccls copied to clipboard
cannot correctly recognize "-MT" option in compile_commands.json
Observed behavior
compile_commands.json
[
{
"directory": "C:\\Users\\xq114\\_tmp\\xmake-test",
"arguments": ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX64\\x64\\cl.exe", "-c", "/EHsc", "-nologo", "-MT", "-I", "C:\\Users\\xq114\\_tmp\\xmake-test\\src\\liba", "-I", "C:\\Users\\xq114\\_tmp\\xmake-test\\src\\libb", "-Fobuild\\.objs\\xmake-test\\windows\\x64\\release\\src\\main.cpp.obj", "src\\main.cpp"],
"file": "src\\main.cpp"
},
{
"directory": "C:\\Users\\xq114\\_tmp\\xmake-test",
"arguments": ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX64\\x64\\cl.exe", "-c", "/EHsc", "-nologo", "-MT", "-I", "C:\\Users\\xq114\\_tmp\\xmake-test\\src\\liba", "-I", "C:\\Users\\xq114\\_tmp\\xmake-test\\src\\libb", "-Fobuild\\.objs\\xmake-test\\windows\\x64\\release\\src\\liba\\a.cpp.obj", "src\\liba\\a.cpp"],
"file": "src\\liba\\a.cpp"
},
{
"directory": "C:\\Users\\xq114\\_tmp\\xmake-test",
"arguments": ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX64\\x64\\cl.exe", "-c", "/EHsc", "-nologo", "-MT", "-I", "C:\\Users\\xq114\\_tmp\\xmake-test\\src\\liba", "-I", "C:\\Users\\xq114\\_tmp\\xmake-test\\src\\libb", "-Fobuild\\.objs\\xmake-test\\windows\\x64\\release\\src\\libb\\b.cpp.obj", "src\\libb\\b.cpp"],
"file": "src\\libb\\b.cpp"
}]
main.cpp
#include <iostream>
#include "b.h"
#include "a.h"
using namespace std;
int main(int argc, char** argv)
{
cout << add1(1) << " " << add2(2) << endl;
return 0;
}
directory structure

file not found issue

When I replaced all -MT flags to /MT, it finally works fine.
Expected behavior
There should not be any difference whether -MT or /MT is used.
Steps to reproduce
- make the directories
- place the files
- fill
main.cppandcompile_commands.json - start vscode and open
main.cpp
System information
- ccls version (
git describe --tags --long): commit 4cd308d7fd71bc82376520d9e042fe339f01b8ef - clang version: 12.0.0-rc3
- OS: Windows 10
- Editor: VS Code
- Language client (and version): vscode-ccls 0.1.29