clang-power-tools: Does not work for default console application

Step to reproduce: 1 VS File->New->Project->Console application 2. Select Solution/Project/File, Clang Power Tools->Compile Bug: Start Clang Compile

C:\Users\Mariusz\AppData\Local\Microsoft\VisualStudio\15.0_a46b25cb\Extensions\jdeqctnp.s5e\clang-build.ps1 : Cannot 
bind argument to parameter 'aDirectory' because it is an empty string.
At line:1 char:537
+ ... e') -Verbose -parallel -vs-ver 2017 -vs-sku Community -dir '' -litera ...
+                                                                ~~
    + CategoryInfo          : InvalidData: (:) [clang-build.ps1], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,clang-build.ps1
 

Done Clang Compile

Comments:

  1. According to https://github.com/Caphyon/clang-power-tools/issues/104. I do not see command line for calling clang-build.ps1
  2. I have seen command line for my other project:
VERBOSE: clang-build.ps1 invocation args: 
  aVcxprojToCompile = G:\test\LibWin10.vcxproj 
  aCppToCompile = AdmobHelper.cpp 
  aVcxprojConfigPlatform = Release|x64 
  aClangCompileFlags = -Werror -std=c++14 -Wall -fms-compatibility-version=19.10 -fms-compatibility -Wmicrosoft 
-Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-variable -Wno-unused-value 
  Verbose = True 
  aUseParallelCompile = True 
  aVisualStudioVersion = 2017 
  aVisualStudioSku = Community 
  aDirectory = G:\test 
  aDisableNameRegexMatching = True 

But I do not know how to use it. I would like to just copy clang-build.ps1 command line from Visual Studio output and use it… I would like to see something like below visual studio output:

====Call clang-build.ps1:
C:\Users\Mariusz\AppData\Local\Microsoft\VisualStudio\15.0_a46b25cb\Extensions\jdeqctnp.s5e\clang-build.ps1 param1 param2 param2
.......

===== Call clang.exe
C:\path\clang.exe params

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 18 (11 by maintainers)

Most upvoted comments

The PS script didn’t reach the point where it would print that command-line because it failed to create the PCH file, due to the UTF-16 stdafx.h file.

I think that command line should be displayed to output before is called. And in case compiling PCH and cpp it will be nice do display both command lines

Yes. It think that VS extension itself should print the clang-build.ps1. Only in that place we really know what we are calling.

OK . When I save files as UTF-8 it works:

  1. Is it known issue with UTF-16 (LE)
  2. I see right now “Clang job tool:” in output but why there is no this line in previous output?
  3. Could you display clang command line in the following format so I can just copy paste it? C:\full_path\clang.exe all parameters

output

Start Clang Compile

VERBOSE: clang-build.ps1 invocation args: 
  aVcxprojToCompile = C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj 
  aCppToCompile = ConsoleApplication3.cpp 
  aVcxprojConfigPlatform = Debug|Win32 
  aClangCompileFlags = -Werror -std=c++14 -Wall -fms-compatibility-version=19.10 -fms-compatibility -Wmicrosoft 
-Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-variable -Wno-unused-value 
  Verbose = True 
  aUseParallelCompile = True 
  aVisualStudioVersion = 2017 
  aVisualStudioSku = Community 
  aDirectory = C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3 
  aDisableNameRegexMatching = True 
VERBOSE: CPU logical core count: 12
VERBOSE: LLVM location: C:\Program Files\LLVM\bin
VERBOSE: Scanning for solution files
VERBOSE: Solution file paths:
VERBOSE:   C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3\ConsoleApplication3.sln
VERBOSE: Source directory: C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3
VERBOSE: Scanning for project files
VERBOSE: Found 1 projects
[ INFO ] WILL PROCESS PROJECTS: 
	ConsoleApplication3.vcxproj
[ INFO ] 1. PROCESSING PROJECT C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj
VERBOSE: SET_VAR MSBuildProjectFullPath: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj
VERBOSE: SET_VAR ProjectDir: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\
VERBOSE: SET_VAR MSBuildProjectExtension: .vcxproj
VERBOSE: SET_VAR MSBuildProjectName: ConsoleApplication3
VERBOSE: SET_VAR MSBuildProjectDirectory: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\
VERBOSE: SET_VAR MSBuildProgramFiles32: C:\Program Files (x86)
VERBOSE: SET_VAR VisualStudioVersion: 15.0
VERBOSE: SET_VAR SolutionDir: C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3\
VERBOSE: SET_VAR MSBuildThisFileFullPath: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj
VERBOSE: SET_VAR MSBuildThisFileExtension: .vcxproj
VERBOSE: SET_VAR MSBuildThisFile: ConsoleApplication3.vcxproj
VERBOSE: SET_VAR MSBuildThisFileName: ConsoleApplication3
VERBOSE: SET_VAR MSBuildThisFileDirectory: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\
VERBOSE: SET_VAR Configuration: Debug
VERBOSE: SET_VAR Platform: Win32
VERBOSE: 
Sanitizing C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj
VERBOSE: SET_VAR MSBuildThisFileFullPath: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj
VERBOSE: SET_VAR MSBuildThisFileExtension: .vcxproj
VERBOSE: SET_VAR MSBuildThisFile: ConsoleApplication3.vcxproj
VERBOSE: SET_VAR MSBuildThisFileName: ConsoleApplication3
VERBOSE: SET_VAR MSBuildThisFileDirectory: C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\
VERBOSE: SET_VAR VCProjectVersion: 15.0
VERBOSE: SET_VAR ProjectGuid: {C4675954-989F-42CF-BCAE-F47CA0714A1C}
VERBOSE: SET_VAR Keyword: Win32Proj
VERBOSE: SET_VAR RootNamespace: ConsoleApplication3
VERBOSE: SET_VAR WindowsTargetPlatformVersion: 10.0.16299.0
VERBOSE: SET_VAR ConfigurationType: Application
VERBOSE: SET_VAR UseDebugLibraries: true
VERBOSE: SET_VAR PlatformToolset: v141
VERBOSE: SET_VAR CharacterSet: Unicode
VERBOSE: SET_VAR LinkIncremental: true
VERBOSE: PCH cpp name: stdafx.cpp
VERBOSE: PCH header name: stdafx.h
VERBOSE: PCH directory: C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3\ConsoleApplication3\
VERBOSE: Preprocessor definitions:
VERBOSE:   -DWIN32
VERBOSE:   -D_DEBUG
VERBOSE:   -D_CONSOLE
VERBOSE:   -DUNICODE
VERBOSE:   -D_UNICODE
VERBOSE: Platform toolset: v141
VERBOSE: Additional includes:
VERBOSE:   
VERBOSE: Visual Studio location: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
VERBOSE: MSCVER: 14.11.25503
VERBOSE: WinSDK version: 10.0.16299.0
VERBOSE: Include directories:
VERBOSE:   C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3
VERBOSE:   C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3\ConsoleApplication3\
VERBOSE:   C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include
VERBOSE:   C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\include
VERBOSE:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt
VERBOSE:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um
VERBOSE:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\shared
VERBOSE:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\winrt
VERBOSE:   
VERBOSE: Force includes: 
VERBOSE: Processing 1 cpps
VERBOSE: Generating PCH...
VERBOSE: PCH creation args: "C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\stdafx.h" -emit-pch -o "C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.clang.pch" -std=c++14 -Wall 
-fms-compatibility-version=19.10 -fms-compatibility -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas 
-Wno-unused-variable -Wno-unused-value -Wno-unused-command-line-argument -DWIN32 -D_DEBUG -D_CONSOLE -DUNICODE 
-D_UNICODE
clang++.exe: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated [-Wdeprecated]
VERBOSE: Generated C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.clang.pch
VERBOSE: Clang job tool: clang++.exe
VERBOSE: Clang job args[0]: -include-pch "C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.clang.pch" -x c++ 
"C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp" -Werror -std=c++14 -Wall 
-fms-compatibility-version=19.10 -fms-compatibility -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas 
-Wno-unused-variable -Wno-unused-value -fsyntax-only -DWIN32 -D_DEBUG -D_CONSOLE -DUNICODE -D_UNICODE
1: C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp
VERBOSE: Deleting project specific variables:
VERBOSE:   MSBuildProjectFullPath
VERBOSE:   ProjectDir
VERBOSE:   MSBuildProjectExtension
VERBOSE:   MSBuildProjectName
VERBOSE:   MSBuildProjectDirectory
VERBOSE:   MSBuildProgramFiles32
VERBOSE:   VisualStudioVersion
VERBOSE:   SolutionDir
VERBOSE:   MSBuildThisFileFullPath
VERBOSE:   MSBuildThisFileExtension
VERBOSE:   MSBuildThisFile
VERBOSE:   MSBuildThisFileName
VERBOSE:   MSBuildThisFileDirectory
VERBOSE:   Configuration
VERBOSE:   Platform
VERBOSE:   VCProjectVersion
VERBOSE:   ProjectGuid
VERBOSE:   Keyword
VERBOSE:   RootNamespace
VERBOSE:   WindowsTargetPlatformVersion
VERBOSE:   ConfigurationType
VERBOSE:   UseDebugLibraries
VERBOSE:   PlatformToolset
VERBOSE:   CharacterSet
VERBOSE:   LinkIncremental
VERBOSE: Cleaning up PCH temporaries:
VERBOSE:   C:\Users\Mariusz\documents\visual studio 
2017\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.clang.pch

Done Clang Compile