I want to compile a simple “hello world” c program for x86_64-pc-windows-msvc using the clang compiler on windows.
I have installed Visual Studio 2019.
Command used
clang a.c
Error generated
clang: error: unable to execute command: program not executable
clang: error: linker command failed with exit code 1 (use -v to see invocation)
These errors also happened with clang++.
Code of a.c
#include <stdio.h>
int main()
{
printf("hello,world");
return 0;
}
Infomation with “-v”
clang version 18.1.8
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: E:LLVMbin
clang: warning: unable to find a Visual Studio installation; try running Clang f
rom a developer command prompt [-Wmsvc-not-found]
"E:\LLVM\bin\clang.exe" -cc1 -triple x86_64-pc-windows-msvc19.33.0 -emit-obj
-mrelax-all -mincremental-linker-compatible -dumpdir a- -disable-free -clear-as
t-before-backend -disable-llvm-verifier -discard-value-names -main-file-name a.c
-mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-cont
ract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x
86-64 -tune-cpu generic "-fdebug-compilation-dir=C:\Novel_YouDao_Convertor\Nov
el\zzfd" -v "-fcoverage-compilation-dir=C:\Novel_YouDao_Convertor\Novel\zzfd
" -resource-dir "E:\LLVM\lib\clang\18" "-IE:\LLVM\lib\clang\18\include"
"-IE:\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\
include" "-IE:\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34
.31933\ATLMFC\include" "-IE:\Microsoft Visual Studio\2022\Community\VC\Au
xiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.
0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.190
41.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0
um" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared
" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt" "-
IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt" -I.
-internal-isystem "E:\LLVM\lib\clang\18\include" -internal-isystem "C:/Pro
gram Files/Microsoft Visual Studio 10.0/VC/include" -internal-isystem "C:/Progra
m Files/Microsoft Visual Studio 9.0/VC/include" -internal-isystem "C:/Program Fi
les/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include" -internal-isystem "C:/Pr
ogram Files/Microsoft Visual Studio 8/VC/include" -internal-isystem "C:/Program
Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include" -ferror-limit 19 -fmessa
ge-length=80 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compati
bility-version=19.33 -fskip-odr-check-in-gmf -fdelayed-template-parsing -fcolor-
diagnostics -faddrsig -o "C:\Users\YvZhou\AppData\Local\Temp\a-279e22.o" -
x c a.c
clang -cc1 version 18.1.8 based upon LLVM 18.1.8 default target x86_64-pc-window
s-msvc
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 10.0/VC
/include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 9.0/VC/
include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 9.0/VC/
PlatformSDK/Include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 8/VC/in
clude"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 8/VC/Pl
atformSDK/Include"
ignoring duplicate directory "C:Program Files (x86)Windows Kits10include10.
0.19041.0ucrt"
ignoring duplicate directory "E:LLVMlibclang18include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
E:Microsoft Visual Studio2022CommunityVCToolsMSVC14.34.31933include
E:Microsoft Visual Studio2022CommunityVCToolsMSVC14.34.31933ATLMFCincl
ude
E:Microsoft Visual Studio2022CommunityVCAuxiliaryVSinclude
C:Program Files (x86)Windows Kits10include10.0.19041.0ucrt
C:Program Files (x86)Windows Kits10Include10.0.19041.0um
C:Program Files (x86)Windows Kits10Include10.0.19041.0shared
C:Program Files (x86)Windows Kits10Include10.0.19041.0winrt
C:Program Files (x86)Windows Kits10Include10.0.19041.0cppwinrt
.
E:LLVMlibclang18include
End of search list.
"link.exe" -out:a.exe -defaultlib:libcmt -defaultlib:oldnames "-libpath:lib\am
d64" "-libpath:atlmfc\lib\amd64" "-libpath:C:\Program Files (x86)\Windows Ki
ts\10\Lib\10.0.22621.0\ucrt\x64" "-libpath:C:\Program Files (x86)\Windows
Kits\10\Lib\10.0.22621.0\um\x64" "-libpath:E:\LLVM\lib\clang\18\lib\
windows" -nologo "C:\Users\YvZhou\AppData\Local\Temp\a-279e22.o"
clang: error: unable to execute command: program not executable
clang: error: linker command failed with exit code 1 (use -v to see invocation)
C:Novel_YouDao_ConvertorNovelzzfd>clang a.c -v > a.txt
clang version 18.1.8
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: E:LLVMbin
clang: warning: unable to find a Visual Studio installation; try running Clang f
rom a developer command prompt [-Wmsvc-not-found]
"E:\LLVM\bin\clang.exe" -cc1 -triple x86_64-pc-windows-msvc19.33.0 -emit-obj
-mrelax-all -mincremental-linker-compatible -dumpdir a- -disable-free -clear-as
t-before-backend -disable-llvm-verifier -discard-value-names -main-file-name a.c
-mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-cont
ract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x
86-64 -tune-cpu generic "-fdebug-compilation-dir=C:\Novel_YouDao_Convertor\Nov
el\zzfd" -v "-fcoverage-compilation-dir=C:\Novel_YouDao_Convertor\Novel\zzfd
" -resource-dir "E:\LLVM\lib\clang\18" "-IE:\LLVM\lib\clang\18\include"
"-IE:\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\
include" "-IE:\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34
.31933\ATLMFC\include" "-IE:\Microsoft Visual Studio\2022\Community\VC\Au
xiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.
0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.190
41.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0
um" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared
" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt" "-
IC:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt" -I.
-internal-isystem "E:\LLVM\lib\clang\18\include" -internal-isystem "C:/Pro
gram Files/Microsoft Visual Studio 10.0/VC/include" -internal-isystem "C:/Progra
m Files/Microsoft Visual Studio 9.0/VC/include" -internal-isystem "C:/Program Fi
les/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include" -internal-isystem "C:/Pr
ogram Files/Microsoft Visual Studio 8/VC/include" -internal-isystem "C:/Program
Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include" -ferror-limit 19 -fmessa
ge-length=80 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compati
bility-version=19.33 -fskip-odr-check-in-gmf -fdelayed-template-parsing -fcolor-
diagnostics -faddrsig -o "C:\Users\YvZhou\AppData\Local\Temp\a-a20331.o" -
x c a.c
clang -cc1 version 18.1.8 based upon LLVM 18.1.8 default target x86_64-pc-window
s-msvc
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 10.0/VC
/include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 9.0/VC/
include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 9.0/VC/
PlatformSDK/Include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 8/VC/in
clude"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual Studio 8/VC/Pl
atformSDK/Include"
ignoring duplicate directory "C:Program Files (x86)Windows Kits10include10.
0.19041.0ucrt"
ignoring duplicate directory "E:LLVMlibclang18include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
E:Microsoft Visual Studio2022CommunityVCToolsMSVC14.34.31933include
E:Microsoft Visual Studio2022CommunityVCToolsMSVC14.34.31933ATLMFCincl
ude
E:Microsoft Visual Studio2022CommunityVCAuxiliaryVSinclude
C:Program Files (x86)Windows Kits10include10.0.19041.0ucrt
C:Program Files (x86)Windows Kits10Include10.0.19041.0um
C:Program Files (x86)Windows Kits10Include10.0.19041.0shared
C:Program Files (x86)Windows Kits10Include10.0.19041.0winrt
C:Program Files (x86)Windows Kits10Include10.0.19041.0cppwinrt
.
E:LLVMlibclang18include
End of search list.
"link.exe" -out:a.exe -defaultlib:libcmt -defaultlib:oldnames "-libpath:lib\am
d64" "-libpath:atlmfc\lib\amd64" "-libpath:C:\Program Files (x86)\Windows Ki
ts\10\Lib\10.0.22621.0\ucrt\x64" "-libpath:C:\Program Files (x86)\Windows
Kits\10\Lib\10.0.22621.0\um\x64" "-libpath:E:\LLVM\lib\clang\18\lib\
windows" -nologo "C:\Users\YvZhou\AppData\Local\Temp\a-a20331.o"
clang: error: unable to execute command: program not executable
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I tird to install another version of llvm,but it doesn’t work.
I also tied to install Windows SDK in VS.
This is my CPATH
:
E:LLVMlibclang18include;E:Microsoft Visual Studio2022CommunityVCToolsMSVC14.34.31933include;E:Microsoft Visual Studio2022CommunityVCToolsMSVC14.34.31933ATLMFCinclude;E:Microsoft Visual Studio2022CommunityVCAuxiliaryVSinclude;C:Program Files (x86)Windows Kits10include10.0.22621.0ucrt;C:Program Files (x86)Windows Kits10include10.0.22621.0ucrt;C:Program Files (x86)Windows Kits10Include10.0.22621.0um;C:Program Files (x86)Windows Kits10Include10.0.22621.0shared;C:Program Files (x86)Windows Kits10Include10.0.22621.0winrt;C:Program Files (x86)Windows Kits10Include10.0.22621.0cppwinrt;
I hope it can be solved.
Thank you.
Pbtdej35692 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.