Page 1 of 1

Config broken after visual install

Posted: Mon Mar 08, 2021 10:50 pm
by Jarod42
After installing visual studio, my Codelite shows me red arrows (for errors) even if I didn't change setup (I only use Mingw gcc/clang via msys2).

Not sure how to configure "stuff" (CL intellisense, clang?) to don't use visual studio header.

(one error shown is in visual studio path `<intrin.h>` when I include `<sstream>`)

Projects compile fine BTW.
Removing codelite user data doesn't fix the issue neither.

Any idea?

Re: Config broken after visual install

Posted: Sat Mar 13, 2021 9:03 pm
by eranif
Visit:

First, check that you have clangd running as a child process of CodeLite

Next, go to:
- Plugins -> Language Server -> Settings
- Select the `clangd` tab (you should have one)
- Paste the command here

If this is a standard C++ project (not a file system workspace etc), you should have a `compile_flags.txt` file(s) at the root folder of each project and one at the workspace folder.

These files are auto generated by CodeLilte and are used by clangd to instruct it how to build your sources.
the content is taken from the projects you have in the workspace.

Check that the content contains all the info required to build your source files.

Let's say that in project PROJECT_A you have file named file.cpp and this is the command required to build it:

Code: Select all

gcc -c file.cpp -o file.o -DMY_MACRO -IC:\includes -IC:\boost_174
Then, you should have a file named compile_flags.txt at the same folder where PROJECT_A.project file exists.
This file should include:

Code: Select all

-IC:\includes
-IC:\boost_174
-DMY_MACRO
...
-target
x86_64-pc-windows-gnu
- the `...` means: your gcc compiler include paths.
- if you don't see the last two lines (-target && x86_64-pc-windows-gnu), then your project selected compiler is set to a non GCC/MinGW one

Re: Config broken after visual install

Posted: Sun Mar 14, 2021 7:26 pm
by Jarod42
I see `clangd` as child of Codelite.
>"C:\Program Files\CodeLite\lsp\clangd.exe" -limit-results=500 -header-insertion-decorators=0
clangd is a language server that provides IDE-like features to editors.

It should be used via an editor plugin rather than invoked directly. For more information, see:
https://clang.llvm.org/extra/clangd/
https://microsoft.github.io/language-server-protocol/

clangd accepts flags on the commandline, and in the CLANGD_FLAGS environment variable.

I[15:39:51.126] clangd version 10.0.0
I[15:39:51.128] Working directory: C:\Users\XXX
I[15:39:51.129] argv[0]: C:\Program Files\CodeLite\lsp\clangd.exe
I[15:39:51.129] argv[1]: -limit-results=500
I[15:39:51.129] argv[2]: -header-insertion-decorators=0
I[15:39:51.130] Starting LSP over stdin/stdout
compile_flags.txt is present:
-IC:\msys64\mingw64\include\c++\10.1.0
-IC:\msys64\mingw64\include\c++\10.1.0\x86_64-w64-mingw32
-IC:\msys64\mingw64\include\c++\10.1.0\backward
-IC:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\10.1.0\include
-IC:\msys64\mingw64\include
-IC:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\10.1.0\include-fixed
-IC:\msys64\mingw64\x86_64-w64-mingw32\include
-IC:\Users\XXX\Code\Maxr\project\codelite
-IC:\msys64\mingw64\include\SDL2
-IC:\Users\XXX\Code\Maxr\maxr
-IC:\Users\XXX\Code\Maxr\maxr\src
-DWIN32
-D_USE_MATH_DEFINES
-DNDEBUG
-std=c++14
-target
x86_64-pc-windows-gnu
So all seems fine...

Note: My projects are created by premake.

Re: Config broken after visual install

Posted: Tue Mar 16, 2021 1:25 am
by eranif
do you get any errors in codelite.log file?
enable debugging from settings -> preferences -> misc -> log

the log file is under: %appdata%\codelite\codelite.log

Re: Config broken after visual install

Posted: Wed Mar 17, 2021 5:11 pm
by Jarod42
Log level is set to ERROR

log content is similar a repetition of:
[13:15:20:762 SYS] [Main] toolbar button changed state to Stop Current Build
[13:15:29:350 SYS] [Main] toolbar button changed state to Build Active Project
[11:27:42:303 SYS] [Main] MSYS environment detected

[11:27:42:444 SYS] [Main] MSYS Root folder is set to: C:/msys64/
There are some
[14:04:21:881 ERR] WriteFile error: 0
By setting LOG to Developper, it is very more verbose, I don't find anything suspect, clangd gives
[13:56:19:398 DBG] [Main] Connecting to LSP server: clangd
[13:56:19:399 DBG] [Main] Handler: LSP: clangd registerd. Priority: 50 . Type: 0
[13:56:19:401 DBG] [Main] Service providers: BuiltIn C++ Code Completion(75) LSP: clangd(50)
[13:56:19:402 DBG] [Main] sorting providers for type: 0
[13:56:19:403 DBG] [Main] Service providers: LSP: clangd(90) BuiltIn C++ Code Completion(75)
[13:56:19:405 DBG] [Main] Starting lsp:
[13:56:19:406 DBG] [Main] Connection string: stdio
[13:56:19:407 DBG] [Main] lspCommand: [C:\Program Files\CodeLite\lsp\clangd.exe, -limit-results=500, -header-insertion-decorators=0]
[13:56:19:409 DBG] [Main] entry.GetWorkingDirectory():
[13:56:19:410 DBG] [Main] rootDir: C:\Users\XXX\Code\Maxr\project\codelite
[13:56:19:411 DBG] [Main] entry.GetLanguages(): [c, cpp]
[13:56:19:412 DBG] [Main] [clangd] Starting...
[13:56:19:413 DBG] [Main] [clangd] Command: [C:\Program Files\CodeLite\lsp\clangd.exe, -limit-results=500, -header-insertion-decorators=0]
[13:56:19:414 DBG] [Main] [clangd] Root folder: C:\Users\XXX\Code\Maxr\project\codelite
[13:56:19:415 DBG] [Main] [clangd] Language: cpp
[13:56:19:416 DBG] [Main] [clangd] Language: c
[13:56:19:423 DBG] [Main] Executing: "C:\Program Files\CodeLite\codelite-make.exe" --workspace=C:\Users\XXX\Code\Maxr\project\codelite\MAXR.workspace --verbose --compile-flags --config=Release --settings=C:\Users\XXX\AppData\Roaming\codelite\config\build_settings.xml
[13:56:19:458 DVL] [Main] Symbols cache cleared
No match for visual.

Re: Config broken after visual install

Posted: Fri Apr 02, 2021 11:01 pm
by eranif
I suspect that issue is because you are using MSYS compiler (C:\msys64\...)
Is your project open source or can you provide a minimal project + workspace that I can try?

Re: Config broken after visual install

Posted: Sun Apr 11, 2021 6:14 pm
by Jarod42

I indeed use msys2.

But I play with new hello world project to reproduce issue:

Before compile_flags.txt is generated, I have indeed the issue.

Once generated, issue disappears when src files are in same directory structure than project.
but with different structure, issue is still present.

I have file structure like similar to:

Code: Select all

project/codelite/ : my_app.worksspace *.project
src/ **cpp, **.h

compile_flags.txt is in project/codelite/
if clangd works as for clang-format with .clang-format
then compile_flags.txt is not reachable from source files (or parent directories)...