Open shawn1j opened 3 weeks ago
Are you trying to compile with cl.exe? Did you run CMake: Configure? When you run C/C++: Log Diagnostics with a C++ file active what is the output in regards to system includes?
Here is my configuration result, but it didn't work
[proc] Run the command D:\QT6\Tools\CMake_64\bin\cmake.exe --version
[proc] Run D:\QT6\Tools\CMake_64\bin\cmake.exe -E capabilities
[variant] A new set of variables is loaded
[kit] successfully loaded 15 toolkits from C:\Users\sj2003\AppData\Local\CMakeTools\cmake-tools-kits.json
[proc] Run the chcp command
[visual-studio] is patched from D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat C:\Program Files (x86)\Windows Kits\10\bin\x64 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64 Windows SDK path
[main] Configuring the project: videoCall
[proc] Run the following command: D:\QT6\Tools\CMake_64\bin\cmake.exe --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -SC:/Users/sj2003/Desktop/videoCall -Bc:/Users/sj2003/Desktop/videoCall/build -G "Visual Studio 17 2022" -T host=x64 -A x64
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
[cmake] -- The CXX compiler identification is MSVC 19.40.33811.0
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: D: / Program Files/Microsoft Visual Studio / 2022 / Community/VC/Tools/MSVC / 14.40.33807 / bin/Hostx64 / x64 / cl. Exe - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
[cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
[cmake] -- Looking for pthread_create in pthreads
[cmake] -- Looking for pthread_create in pthreads - not found
[cmake] -- Looking for pthread_create in pthread
[cmake] -- Looking for pthread_create in pthread - not found
[cmake] -- Found Threads: TRUE
[cmake] -- Performing Test HAVE_STDATOMIC
[cmake] -- Performing Test HAVE_STDATOMIC - Success
[cmake] -- Found WrapAtomic: TRUE
[cmake] -- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: C:/Users/sj2003/Desktop/videoCall/build
[visual-studio] is patched from D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat C:\Program Files (x86)\Windows Kits\10\bin\x64 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64 Windows SDK path
@shawn1j Yeah, can you check the C/C++: Log Diagnostics output with a C/C++ file active?
Or if you set C_Cpp.loggingLevel to "Debug" and check the "C/C++" logging for message "Custom configurations received:" that will show what receive from the CMake Tools extension after opening a file.
This is my c/c + + log output (because there is too much content, I stored it in the file):
This is my cmake output
@shawn1j Your logging indicates CMake Tools is not sending us any configuration info for the header files that are opened, i.e. it doesn't appear that you're configured correctl or it could be a CMake Tools issue.
@shawn1j Thank you for reporting this issue. Regarding this issue, we tried to reproduce this issue using a simple demo project however we were unable to reproduce this issue for you. In order to investigate further, please provide us with a simple demo project to reproduce the issue and we look forward to your feedback.
Of course, here's my case, and it's very simple.
CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(demo LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_executable(demo main.cpp )
main.cpp
#include <iostream>
int main(int argc, char **argv)
{
std::cout << "Hello World" << std::endl;
return 0;
}
The following is the output of cmake-tools, because c/ C ++ output too much information, I put it in the c_cpp.logging.txt file. c_cpp.logging.txt
[proc] Executing command: D:\QT6\Tools\CMake_64\bin\cmake.exe --version
[proc] Executing command: D:\QT6\Tools\CMake_64\bin\cmake.exe -E capabilities
[variant] Loaded new set of variants
[kit] Successfully loaded 9 kits from C:\Users\sj2003\AppData\Local\CMakeTools\cmake-tools-kits.json
[proc] Executing command: chcp
[visual-studio] Patch Windows SDK path from C:\Program Files (x86)\Windows Kits\10\bin\x64 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64 for D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
[main] Configuring project: src
[proc] Executing command: D:\QT6\Tools\CMake_64\bin\cmake.exe --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -SC:/Users/sj2003/Desktop/demo/src -Bc:/Users/sj2003/Desktop/demo/src/build -G "Visual Studio 17 2022" -T host=x64 -A x64
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
[cmake] -- The CXX compiler identification is MSVC 19.40.33811.0
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: C:/Users/sj2003/Desktop/demo/src/build
[visual-studio] Patch Windows SDK path from C:\Program Files (x86)\Windows Kits\10\bin\x64 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64 for D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
Environment
@shawn1j I'm very sorry, I don't get this error with the code you provided, can you give me some advice?
Sorry to keep you waiting, I tried to use the latest version of cmake (version 3.29.6). After my testing, I found that when I used Visual Studio 2022 Developer Command Prompt v17.10.1 to launch vs code, vs code intellisense will work properly. This did not work with cmake (version 3.24.2), which I used earlier.
Here is the effect of starting vs code without Visual Studio 2022 Developer Command Prompt v17.10.1.
I wonder if this has anything to do with my computer environment. can you give me some advice?
@shawn1j When I start vscode without Visual Studio 2022 Developer Command Prompt I get a generator not found, which should be normal because my generator is installed by installing VS and not separately, but I still can't reproduce the problem you described.
Environment
Bug Summary and Steps to Reproduce
Bug Summary: I am using vscode to build my project, I use cmake to build my project, which uses qt library and some other third party libraries, my project can compile normally and run successfully. But in my code file, there is always an error ripple on this side of the #include header. This is a problem even with iostream headers. I tried to add a header search path for qt and other third-party libraries to the includePath field in the c_cpp_properties.json file, or "configurationProvider": "ms-vscode.cmake-tools", adds a path to the C_Cpp.default.includePath field in the settings.json file, but these attempts do not work, and the problem persists.
Below is the directory structure of my project: C:\USERS\SJ2003\DESKTOP\VIDEOCALL │ CMakeLists.txt │ dialog.cpp │ dialog.h │ Dialog.ui │ ├─.vscode │ c_cpp_properties.json
│ └─build │ ALL_BUILD.vcxproj │ ALL_BUILD.vcxproj.filters │ CMakeCache.txt │ cmake_install.cmake │ VideoCall.sln │ VideoCall.vcxproj │ VideoCall.vcxproj.filters │ ZERO_CHECK.vcxproj │ ZERO_CHECK.vcxproj.filters │ ├─.cmake │ └─api │ └─v1 | .......
Configuration and Logs
Other Extensions
cmake v0.0.17 cmake-tools v1.18.41 cmake language support v0.0.9
Additional context
CMakeLists.txt