-
Notifications
You must be signed in to change notification settings - Fork 959
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[question] How to cross-build from Linux to Windows using clang? #15655
Comments
Hi @Todiq Thanks for your question. The truth is that this cross-compilation is not that thoroughly investigated and tested. I know from some users that they have been able to cross-build from Linux to Windows, but if I recall correctly, they were mostly using mingw based toolchains. I have no clear idea of what is the gap, I'll try someone in the team to have a look.
These are very intended for Windows based VS installations. These probably don't work at all in Linux. |
The easiest (and most common?) way to do this is via clang-cl (which has the additional advantage of appearing as MSVC, increasing compatibility with projects that don't do their clang checks properly):
I've used this in the past with Conan with no issues. |
Hello @sykhro, Thanks for the info. How does one install clang-cl under Linux? In fact, I make sure of using the default package manager, since I want to create docker images for both amd64 & arm64 but don't want to have both compilers versions on both the architectures |
It should come bundled with clang, it might depend on your distribution. The most "default" clang build you can get is installing it using |
Point RC to llvm-rc. Then point CMAKE_MT to llvm-mt, or compile with /MANIFEST:NO
… On 26 Feb 2024, at 17:48, Todiq ***@***.***> wrote:
Hey @sykhro <https://github.com/sykhro>,
The llvm script ends up giving a heavy docker image, so I installed clang-cl through the apt package clang-tools-16 for now. Hopefully, I could work around it later with layers. I edited my host profile, but still cannot make it work:
***@***.***:/workspace# conan build core/ --profile:host windows-x86_64 --profile:build linux-x86_64
======== Input profiles ========
Profile host:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=14
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=193
os=Windows
[conf]
tools.build:compiler_executables={'c': 'clang-cl-16', 'cpp': 'clang-cl-16'}
tools.build:cxxflags=['-v -fcolor-diagnostics', '-target x86_64-pc-windows-msvc', '-L/opt/win-sdk/10.0.22621/crt/lib/x86_64 -L/opt/win-sdk/10.0.22621/sdk/lib/ucrt/x86_64 -L/opt/win-sdk/10.0.22621/sdk/lib/um/x86_64', '-I/opt/win-sdk/10.0.22621/crt/include -I/opt/win-sdk/10.0.22621/sdk/include/cppwinrt/ -I/opt/win-sdk/10.0.22621/sdk/include/shared/ -I/opt/win-sdk/10.0.22621/sdk/include/ucrt/ -I/opt/win-sdk/10.0.22621/sdk/include/um/ -I/opt/win-sdk/10.0.22621/sdk/include/winrt/', '-flto -march=x86-64-v3']
tools.build:exelinkflags=['-fuse-ld=lld']
tools.build:sharedlinkflags=['-fuse-ld=lld']
tools.cmake.cmaketoolchain:generator=Ninja Multi-Config
Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=clang
compiler.cppstd=17
compiler.libcxx=libstdc++11
compiler.version=16
os=Linux
[conf]
tools.build:compiler_executables={'c': 'clang-16', 'cpp': 'clang++-16'}
tools.build:cxxflags=['-fcolor-diagnostics']
tools.build:exelinkflags=['-fuse-ld=lld']
tools.build:sharedlinkflags=['-fuse-ld=lld']
tools.cmake.cmaketoolchain:generator=Ninja
======== Computing dependency graph ========
Graph root
conanfile.py (castcore/1.1): /workspace/core/conanfile.py
Requirements
boost/1.81.0#21f2c671219d474104b5e55e09cd40ff - Cache
icu/72.1#d24b2d30acae3dcb788e139112bcd7c6 - Cache
libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd - Cache
libxml2/2.11.6#41c14895baba105865cb22ecaf948115 - Cache
libxslt/1.1.34#2bdc1f5fe5db1df40f8465e485a19ee4 - Cache
pugixml/1.13#f615c1fcec55122b2e177d17061276e7 - Cache
xerces-c/3.2.4#c52d1d1bb36d1377471ec1e551a6598a - Cache
Test requirements
gtest/1.13.0#8a0bc5b3e159ed45de97260c2bff65b5 - Cache
Build requirements
b2/4.10.1#a41eecb267963ddf518e3c177eae60e1 - Cache
cmake/3.28.1#92f79424d7b65b12a84a2180866c3a78 - Cache
icu/72.1#d24b2d30acae3dcb788e139112bcd7c6 - Cache
ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21 - Cache
======== Computing necessary packages ========
icu/72.1: Checking 11 compatible configurations
icu/72.1: Compatible configurations not found in cache, checking servers
icu/72.1: 'f4608c27d2d424b8c296ba6b9e60e99db4773e60': compiler.cppstd=98
icu/72.1: 'e05540f1fd257df0b84749f1c7ba0d3b177f1844': compiler.cppstd=gnu98
icu/72.1: 'e301a5a0eeb69b188ed1ad4ce246ca6745bb28d6': compiler.cppstd=11
icu/72.1: '9cd3656687e1d6e8a3f9756ed104fe6f948e1552': compiler.cppstd=gnu11
icu/72.1: 'af65f570cf50a0f849452bfe925a59b1f586d0f0': compiler.cppstd=14
icu/72.1: '6f00251d82d3c86732e8189344f0efbf9c4f8a5c': compiler.cppstd=gnu14
icu/72.1: '0d519caeef63d9b00cddf18f7715896bb5e5629d': compiler.cppstd=gnu17
icu/72.1: 'd216c88985f6580c212fd69cad493fe4e6074935': compiler.cppstd=20
icu/72.1: '9e96c6b675bc7ad6a99566b18763382a6abd3a17': compiler.cppstd=gnu20
icu/72.1: 'a2cfacb413a21cf4e55c655fef62c6ed8885de7f': compiler.cppstd=23
icu/72.1: '576a9202edb171ec9db75c81373692d5a1aec42d': compiler.cppstd=gnu23
Requirements
boost/1.81.0#21f2c671219d474104b5e55e09cd40ff:e03785e977988d57a84487e4306a26c9018cabf0#a7170f9bc309d3e8c2697d2c10fef28d - Cache
icu/72.1#d24b2d30acae3dcb788e139112bcd7c6:9f8165f8d74e26bf104abb2a5005a80d1101b198#3cb5da99fe9d01c55d1c5dbf13f35112 - Cache
libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd:7bfde258ff4f62f75668d0896dbddedaa7480a0f#9ef92719f5c05dca2f0dbb46f50d3f8d - Cache
libxml2/2.11.6#41c14895baba105865cb22ecaf948115:a6cdd368afb04c4d9e5918696d661f8f5249a029#d4a7bc8cb16ca7e7411db8804a765032 - Cache
libxslt/1.1.34#2bdc1f5fe5db1df40f8465e485a19ee4:4e7168dde525f5dbaf65a8b8f6b3280b6a7e87d7#a632a2a87954026a2d962070cbad7aa6 - Cache
pugixml/1.13#f615c1fcec55122b2e177d17061276e7:da39a3ee5e6b4b0d3255bfef95601890afd80709#ae530054ed7ac99330514c13a5bfde3a - Cache
xerces-c/3.2.4#c52d1d1bb36d1377471ec1e551a6598a:41c4e6767851fe7db56310649912b6259451a38f#0831576b3c913f5e3d1294aa2f05ee41 - Cache
Test requirements
gtest/1.13.0#8a0bc5b3e159ed45de97260c2bff65b5:9940e217936a0f218f90473d62bf1d4db55efaa7#f44bf478a18701d76b310497997d7b3b - Cache
Build requirements
cmake/3.28.1#92f79424d7b65b12a84a2180866c3a78:63fead0844576fc02943e16909f08fcdddd6f44b#501f62ef1d3711dd838dc1d91a2d866e - Cache
ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21:3593751651824fb813502c69c971267624ced41a#60e6fc0f973babfbed66a66af22a4f02 - Cache
Skipped binaries
b2/4.10.1, icu/72.1
======== Installing packages ========
======== Installing packages ========
cmake/3.28.1: Already installed! (1 of 10)
cmake/3.28.1: Appending PATH environment variable: /opt/conan/p/cmakecf6b18ccaa9f5/p/bin
gtest/1.13.0: Already installed! (2 of 10)
libiconv/1.17: Already installed! (3 of 10)
ninja/1.11.1: Already installed! (4 of 10)
pugixml/1.13: Already installed! (5 of 10)
xerces-c/3.2.4: Already installed! (6 of 10)
boost/1.81.0: Already installed! (7 of 10)
boost/1.81.0: Disabled magic autolinking (smart and magic decisions)
icu/72.1: Already installed! (8 of 10)
libxml2/2.11.6: Already installed! (9 of 10)
libxml2/2.11.6: Appending PATH environment variable: /opt/conan/p/libxm07501da66e843/p/bin
libxslt/1.1.34: Already installed! (10 of 10)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'env_info' used in: libxslt/1.1.34, icu/72.1, cmake/3.28.1, libiconv/1.17, libxml2/2.11.6, boost/1.81.0
WARN: deprecated: 'cpp_info.names' used in: libxslt/1.1.34, gtest/1.13.0, icu/72.1, libxml2/2.11.6, libiconv/1.17, boost/1.81.0
WARN: deprecated: 'cpp_info.filenames' used in: boost/1.81.0, libxml2/2.11.6
WARN: deprecated: 'user_info' used in: boost/1.81.0
WARN: deprecated: 'cpp_info.build_modules' used in: libxml2/2.11.6
======== Finalizing install (deploy, generators) ========
conanfile.py (castcore/1.1): Calling generate()
conanfile.py (castcore/1.1): Generators folder: /workspace/core/build/windows-msvc-193-x86_64/generators
conanfile.py (castcore/1.1): CMakeToolchain generated: conan_toolchain.cmake
conanfile.py (castcore/1.1): Preset 'conan-windows-msvc-193-x86_64' added to CMakePresets.json. Invoke it manually using 'cmake --preset conan-windows-msvc-193-x86_64' if using CMake>=3.23
conanfile.py (castcore/1.1): If your CMake version is not compatible with CMakePresets (<3.23) call cmake like: 'cmake <path> -G "Ninja Multi-Config" -DCMAKE_TOOLCHAIN_FILE=/workspace/core/build/windows-msvc-193-x86_64/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW'
conanfile.py (castcore/1.1): CMakeToolchain generated: CMakePresets.json
conanfile.py (castcore/1.1): CMakeToolchain generated: ../../../CMakeUserPresets.json
conanfile.py (castcore/1.1): CMakeDeps necessary find_package() and targets for your CMakeLists.txt
find_package(Boost)
find_package(ICU)
find_package(LibXslt)
find_package(libxml2)
find_package(pugixml)
find_package(XercesC)
find_package(GTest)
target_link_libraries(... boost::boost icu::icu libxslt::libxslt LibXml2::LibXml2 pugixml::pugixml XercesC::XercesC gtest::gtest)
conanfile.py (castcore/1.1): Generating aggregated env files
conanfile.py (castcore/1.1): Generated aggregated env files: ['conanbuild.sh', 'conanrun.bat']
======== Calling build() ========
conanfile.py (castcore/1.1): Calling build()
conanfile.py (castcore/1.1): Running CMake.configure()
conanfile.py (castcore/1.1): RUN: cmake -G "Ninja Multi-Config" -DCMAKE_TOOLCHAIN_FILE="/workspace/core/build/windows-msvc-193-x86_64/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/workspace/core" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" "/workspace/core"
-- Using Conan toolchain: /workspace/core/build/windows-msvc-193-x86_64/generators/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 14 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
-- The CXX compiler identification is Clang 16.0.6 with MSVC-like command-line
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/clang-cl-16
-- Check for working CXX compiler: /usr/bin/clang-cl-16 - broken
CMake Error at /opt/conan/p/cmakecf6b18ccaa9f5/p/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:60 (message):
The C++ compiler
"/usr/bin/clang-cl-16"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/workspace/core/build/windows-msvc-193-x86_64/CMakeFiles/CMakeScratch/TryCompile-VhCB9K'
Run Build Command(s): /opt/conan/p/ninja6fed3c8400c5b/p/bin/ninja -v cmTC_26ded
[1/2] /usr/bin/clang-cl-16 /nologo -TP -DCMAKE_INTDIR=\"Debug\" /DWIN32 /D_WINDOWS /EHsc /Zi /Ob0 /Od /RTC1 -std:c++14 /showIncludes /FoCMakeFiles/cmTC_26ded.dir/Debug/testCXXCompiler.cxx.obj /FdCMakeFiles/cmTC_26ded.dir/Debug/ -c -- /workspace/core/build/windows-msvc-193-x86_64/CMakeFiles/CMakeScratch/TryCompile-VhCB9K/testCXXCompiler.cxx
[2/2] : && /opt/conan/p/cmakecf6b18ccaa9f5/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_26ded.dir/Debug --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_26ded.dir/Debug/testCXXCompiler.cxx.obj /out:Debug/cmTC_26ded.exe /implib:Debug/cmTC_26ded.lib /pdb:Debug/cmTC_26ded.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
FAILED: Debug/cmTC_26ded.exe
: && /opt/conan/p/cmakecf6b18ccaa9f5/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_26ded.dir/Debug --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_26ded.dir/Debug/testCXXCompiler.cxx.obj /out:Debug/cmTC_26ded.exe /implib:Debug/cmTC_26ded.lib /pdb:Debug/cmTC_26ded.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
RC Pass 1: command "rc /fo CMakeFiles/cmTC_26ded.dir/Debug/manifest.res CMakeFiles/cmTC_26ded.dir/Debug/manifest.rc" failed (exit code 0) with the following output:
no such file or directory
ninja: build stopped: subcommand failed.
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
-- Configuring incomplete, errors occurred!
ERROR: conanfile.py (castcore/1.1): Error in build() method, line 97
cmake.configure()
ConanException: Error 1 while executing
I tried with both Ninja & Ninja Multi-Config, but neither worked. Do you have any ideas? Thanks!
—
Reply to this email directly, view it on GitHub <#15655 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACAZDCCRT2KA2BBPZCH7XRLYVS4FJAVCNFSM6AAAAABDF7ZXBGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRUGYZDMOBUGY>.
You are receiving this because you were mentioned.
|
Thank. I added RC to the env through the profile and /MANIFEST:NO to the link options in the cmakelists. However, I now get this: LINK Pass 1: command "/usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_16054.dir/testCXXCompiler.cxx.obj /out:cmTC_16054.exe /implib:cmTC_16054.lib /pdb:cmTC_16054.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles/cmTC_16054.dir/intermediate.manifest CMakeFiles/cmTC_16054.dir/manifest.res" failed (exit code 1) with the following output:
lld-link-16: error: could not open 'kernel32.lib': No such file or directory
lld-link-16: error: could not open 'user32.lib': No such file or directory
lld-link-16: error: could not open 'gdi32.lib': No such file or directory
lld-link-16: error: could not open 'winspool.lib': No such file or directory
lld-link-16: error: could not open 'shell32.lib': No such file or directory
lld-link-16: error: could not open 'ole32.lib': No such file or directory
lld-link-16: error: could not open 'oleaut32.lib': No such file or directory
lld-link-16: error: could not open 'uuid.lib': No such file or directory
lld-link-16: error: could not open 'comdlg32.lib': No such file or directory
lld-link-16: error: could not open 'advapi32.lib': No such file or directory
lld-link-16: error: could not open 'libcmt.lib': No such file or directory
lld-link-16: error: could not open 'oldnames.lib': No such file or directory
ninja: build stopped: subcommand failed. Even if all of them are installed under the /winsdkdir passed as an argument to clang-cl. Adding the same argument to lld only results in errors |
/winsdkdir is for the Windows SDK. Those libraries in your error come from the CRT, which is a different archive entirely. If you don't know where to get that, use the xwin tool. Be sure to pass the right arguments to it for symlink creation and for using the Microsoft architecture names |
Hello @sykhro, Thanks a lot for your time. I downloaded both the sdk and crt with xwin in the first place. By default, the symlinks are created. I currently have the following folders: /opt/win-sdk/10.0.22621/crt & /opt/win-sdk/10.0.22621/sdk. The previously mentionned libs are locatied in the sdk, not the crt. Is that a mistake from xwin? Should I also point /vctoolsdir to the subfolder containing them that is located in the sdk folder? That does not seem right. I also tried directly using /winsysroot and point it to /opt/win-sdk/10.0.22621/, but I am still getting the same issue |
Perfect. You need
won't work, needs a different directory structure. This is the xwin command I use, for reference:
|
I downloaded the sdk again with the command you provided, to be sure nothing was missing. However, I am still unable to compile anything. It will be simpler with the log: ======== Calling build() ========
conanfile.py (castcore/1.1): Calling build()
conanfile.py (castcore/1.1): Running CMake.configure()
conanfile.py (castcore/1.1): RUN: cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/workspace/core/build/windows-msvc-193-x86_64/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/workspace/core" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/workspace/core"
-- Using Conan toolchain: /workspace/core/build/windows-msvc-193-x86_64/Release/generators/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 17 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
-- The CXX compiler identification is Clang 16.0.6 with MSVC-like command-line
CMake Error at /opt/conan/p/cmakecf6b18ccaa9f5/p/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake:232 (configure_file):
Operation not permitted
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/clang-cl-16
-- Check for working CXX compiler: /usr/bin/clang-cl-16 - broken
CMake Error at /opt/conan/p/cmakecf6b18ccaa9f5/p/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:60 (message):
The C++ compiler
"/usr/bin/clang-cl-16"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/workspace/core/build/windows-msvc-193-x86_64/Release/CMakeFiles/CMakeScratch/TryCompile-I9GmPU'
Run Build Command(s): /opt/conan/p/ninja6fed3c8400c5b/p/bin/ninja -v cmTC_57596
[1/2] /usr/bin/clang-cl-16 /nologo -TP -v -fcolor-diagnostics -target x86_64-pc-windows-msvc /winsdkdir /opt/win-sdk/10.0.22621/sdk /vctoolsdir /opt/win-sdk/10.0.22621/crt -flto -march=x86-64-v3 /DWIN32 /D_WINDOWS /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 /showIncludes /FoCMakeFiles/cmTC_57596.dir/testCXXCompiler.cxx.obj /FdCMakeFiles/cmTC_57596.dir/ -c -- /workspace/core/build/windows-msvc-193-x86_64/Release/CMakeFiles/CMakeScratch/TryCompile-I9GmPU/testCXXCompiler.cxx
Debian clang version 16.0.6 (15~deb12u1)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: /usr/bin
(in-process)
clang -cc1 version 16.0.6 based upon LLVM 16.0.6 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/opt/win-sdk/10.0.22621/crt/atlmfc/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/llvm-16/lib/clang/16/include
/opt/win-sdk/10.0.22621/crt/include
/opt/win-sdk/10.0.22621/sdk/Include/10.0.22621/ucrt
/opt/win-sdk/10.0.22621/sdk/Include/10.0.22621/shared
/opt/win-sdk/10.0.22621/sdk/Include/10.0.22621/um
/opt/win-sdk/10.0.22621/sdk/Include/10.0.22621/winrt
/opt/win-sdk/10.0.22621/sdk/Include/10.0.22621/cppwinrt
End of search list.
[2/2] : && /opt/conan/p/cmakecf6b18ccaa9f5/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_57596.dir --rc=llvm-rc-16 --mt=/usr/bin/llvm-mt-16 --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_57596.dir/testCXXCompiler.cxx.obj /out:cmTC_57596.exe /implib:cmTC_57596.lib /pdb:cmTC_57596.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
FAILED: cmTC_57596.exe
: && /opt/conan/p/cmakecf6b18ccaa9f5/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_57596.dir --rc=llvm-rc-16 --mt=/usr/bin/llvm-mt-16 --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_57596.dir/testCXXCompiler.cxx.obj /out:cmTC_57596.exe /implib:cmTC_57596.lib /pdb:cmTC_57596.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
LINK Pass 1: command "/usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_57596.dir/testCXXCompiler.cxx.obj /out:cmTC_57596.exe /implib:cmTC_57596.lib /pdb:cmTC_57596.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles/cmTC_57596.dir/intermediate.manifest CMakeFiles/cmTC_57596.dir/manifest.res" failed (exit code 1) with the following output:
lld-link-16: error: could not open 'kernel32.lib': No such file or directory
lld-link-16: error: could not open 'user32.lib': No such file or directory
lld-link-16: error: could not open 'gdi32.lib': No such file or directory
lld-link-16: error: could not open 'winspool.lib': No such file or directory
lld-link-16: error: could not open 'shell32.lib': No such file or directory
lld-link-16: error: could not open 'ole32.lib': No such file or directory
lld-link-16: error: could not open 'oleaut32.lib': No such file or directory
lld-link-16: error: could not open 'uuid.lib': No such file or directory
lld-link-16: error: could not open 'comdlg32.lib': No such file or directory
lld-link-16: error: could not open 'advapi32.lib': No such file or directory
lld-link-16: error: could not open 'libcmt.lib': No such file or directory
lld-link-16: error: could not open 'oldnames.lib': No such file or directory
ninja: build stopped: subcommand failed.
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
-- Configuring incomplete, errors occurred!
ERROR: conanfile.py (castcore/1.1): Error in build() method, line 98
cmake.configure()
ConanException: Error 1 while executing |
this is suspicious, perhaps you're missing a chmod +x? |
Hello @sykhro, Although the cmake issue is fixed, it still won't work. I tried removing the arm64 subfolders I also had to be sure it wasn't conflicting with the x64 folders, but that didn't fix it. Logroot@docker-desktop:/tmp# conan build core/ --profile:host windows-x86_64 --profile:build linux-x86_64
Using lockfile: '/tmp/core/conan.lock'
======== Input profiles ========
Profile host:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=14
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=193
os=Windows
cast*/*:build_type=Release
cast*/*:compiler.cppstd=17
[conf]
tools.build:compiler_executables={'c': 'clang-cl-16', 'cpp': 'clang-cl-16', 'rc': 'llvm-rc-16'}
tools.build:cxxflags=['-v -fcolor-diagnostics', '-target x86_64-pc-windows-msvc', '/winsdkdir /opt/win-sdk/sdk /vctoolsdir /opt/win-sdk/crt']
tools.cmake.cmaketoolchain:generator=Ninja
Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=clang
compiler.cppstd=17
compiler.libcxx=libstdc++11
compiler.version=16
os=Linux
[conf]
tools.build:compiler_executables={'c': 'clang-16', 'cpp': 'clang++-16'}
tools.build:cxxflags=['-fcolor-diagnostics']
tools.build:exelinkflags=['-fuse-ld=lld']
tools.build:sharedlinkflags=['-fuse-ld=lld']
tools.cmake.cmaketoolchain:generator=Ninja
======== Computing dependency graph ========
Graph root
conanfile.py (castcore/1.1): /tmp/core/conanfile.py
Requirements
boost/1.81.0#753df9d4f149a5551335f47abe21de0b - Cache
icu/72.1#d24b2d30acae3dcb788e139112bcd7c6 - Cache
libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd - Cache
libxml2/2.11.6#41c14895baba105865cb22ecaf948115 - Cache
libxslt/1.1.34#2bdc1f5fe5db1df40f8465e485a19ee4 - Cache
pugixml/1.13#f615c1fcec55122b2e177d17061276e7 - Cache
xerces-c/3.2.4#c52d1d1bb36d1377471ec1e551a6598a - Cache
Test requirements
gtest/1.13.0#8a0bc5b3e159ed45de97260c2bff65b5 - Cache
Build requirements
b2/4.10.1#a41eecb267963ddf518e3c177eae60e1 - Cache
cmake/3.29.0#a055de871f63a7904aa3dcb9f3c61242 - Cache
icu/72.1#d24b2d30acae3dcb788e139112bcd7c6 - Cache
ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21 - Cache
======== Computing necessary packages ========
icu/72.1: Checking 11 compatible configurations
icu/72.1: Compatible configurations not found in cache, checking servers
icu/72.1: 'f4608c27d2d424b8c296ba6b9e60e99db4773e60': compiler.cppstd=98
icu/72.1: 'e05540f1fd257df0b84749f1c7ba0d3b177f1844': compiler.cppstd=gnu98
icu/72.1: 'e301a5a0eeb69b188ed1ad4ce246ca6745bb28d6': compiler.cppstd=11
icu/72.1: '9cd3656687e1d6e8a3f9756ed104fe6f948e1552': compiler.cppstd=gnu11
icu/72.1: 'af65f570cf50a0f849452bfe925a59b1f586d0f0': compiler.cppstd=14
icu/72.1: '6f00251d82d3c86732e8189344f0efbf9c4f8a5c': compiler.cppstd=gnu14
icu/72.1: '0d519caeef63d9b00cddf18f7715896bb5e5629d': compiler.cppstd=gnu17
icu/72.1: 'd216c88985f6580c212fd69cad493fe4e6074935': compiler.cppstd=20
icu/72.1: '9e96c6b675bc7ad6a99566b18763382a6abd3a17': compiler.cppstd=gnu20
icu/72.1: 'a2cfacb413a21cf4e55c655fef62c6ed8885de7f': compiler.cppstd=23
icu/72.1: '576a9202edb171ec9db75c81373692d5a1aec42d': compiler.cppstd=gnu23
Requirements
boost/1.81.0#753df9d4f149a5551335f47abe21de0b:e03785e977988d57a84487e4306a26c9018cabf0#f65d418cddf6cc771a803fde82e12dd9 - Cache
icu/72.1#d24b2d30acae3dcb788e139112bcd7c6:9f8165f8d74e26bf104abb2a5005a80d1101b198#3cb5da99fe9d01c55d1c5dbf13f35112 - Cache
libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd:7bfde258ff4f62f75668d0896dbddedaa7480a0f#9ef92719f5c05dca2f0dbb46f50d3f8d - Cache
libxml2/2.11.6#41c14895baba105865cb22ecaf948115:a6cdd368afb04c4d9e5918696d661f8f5249a029#d4a7bc8cb16ca7e7411db8804a765032 - Cache
libxslt/1.1.34#2bdc1f5fe5db1df40f8465e485a19ee4:4e7168dde525f5dbaf65a8b8f6b3280b6a7e87d7#a632a2a87954026a2d962070cbad7aa6 - Cache
pugixml/1.13#f615c1fcec55122b2e177d17061276e7:da39a3ee5e6b4b0d3255bfef95601890afd80709#ae530054ed7ac99330514c13a5bfde3a - Cache
xerces-c/3.2.4#c52d1d1bb36d1377471ec1e551a6598a:41c4e6767851fe7db56310649912b6259451a38f#0831576b3c913f5e3d1294aa2f05ee41 - Cache
Test requirements
gtest/1.13.0#8a0bc5b3e159ed45de97260c2bff65b5:9940e217936a0f218f90473d62bf1d4db55efaa7#f44bf478a18701d76b310497997d7b3b - Cache
Build requirements
cmake/3.29.0#a055de871f63a7904aa3dcb9f3c61242:63fead0844576fc02943e16909f08fcdddd6f44b#360d58b97919da259380ac10247a9024 - Cache
ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21:3593751651824fb813502c69c971267624ced41a#60e6fc0f973babfbed66a66af22a4f02 - Cache
Skipped binaries
b2/4.10.1, icu/72.1
======== Installing packages ========
======== Installing packages ========
cmake/3.29.0: Already installed! (1 of 10)
cmake/3.29.0: Appending PATH environment variable: /opt/conan/p/cmakee300763ec076c/p/bin
gtest/1.13.0: Already installed! (2 of 10)
libiconv/1.17: Already installed! (3 of 10)
ninja/1.11.1: Already installed! (4 of 10)
pugixml/1.13: Already installed! (5 of 10)
xerces-c/3.2.4: Already installed! (6 of 10)
boost/1.81.0: Already installed! (7 of 10)
boost/1.81.0: Disabled magic autolinking (smart and magic decisions)
icu/72.1: Already installed! (8 of 10)
libxml2/2.11.6: Already installed! (9 of 10)
libxml2/2.11.6: Appending PATH environment variable: /opt/conan/p/libxm07501da66e843/p/bin
libxslt/1.1.34: Already installed! (10 of 10)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'env_info' used in: icu/72.1, boost/1.81.0, libxslt/1.1.34, libiconv/1.17, libxml2/2.11.6, cmake/3.29.0
WARN: deprecated: 'cpp_info.names' used in: icu/72.1, boost/1.81.0, libxslt/1.1.34, libiconv/1.17, libxml2/2.11.6, gtest/1.13.0
WARN: deprecated: 'cpp_info.filenames' used in: libxml2/2.11.6, boost/1.81.0
WARN: deprecated: 'user_info' used in: boost/1.81.0
WARN: deprecated: 'cpp_info.build_modules' used in: libxml2/2.11.6
======== Finalizing install (deploy, generators) ========
conanfile.py (castcore/1.1): Calling generate()
conanfile.py (castcore/1.1): Generators folder: /tmp/core/build/windows-msvc-193-x86_64/Release/generators
conanfile.py (castcore/1.1): CMakeToolchain generated: conan_toolchain.cmake
conanfile.py (castcore/1.1): Preset 'conan-windows-msvc-193-x86_64-release' added to CMakePresets.json. Invoke it manually using 'cmake --preset conan-windows-msvc-193-x86_64-release' if using CMake>=3.23
conanfile.py (castcore/1.1): If your CMake version is not compatible with CMakePresets (<3.23) call cmake like: 'cmake <path> -G Ninja -DCMAKE_TOOLCHAIN_FILE=/tmp/core/build/windows-msvc-193-x86_64/Release/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Release'
conanfile.py (castcore/1.1): CMakeToolchain generated: CMakePresets.json
conanfile.py (castcore/1.1): CMakeToolchain generated: ../../../../CMakeUserPresets.json
conanfile.py (castcore/1.1): CMakeDeps necessary find_package() and targets for your CMakeLists.txt
find_package(Boost)
find_package(ICU)
find_package(LibXslt)
find_package(libxml2)
find_package(pugixml)
find_package(XercesC)
find_package(GTest)
target_link_libraries(... boost::boost icu::icu libxslt::libxslt LibXml2::LibXml2 pugixml::pugixml XercesC::XercesC gtest::gtest)
conanfile.py (castcore/1.1): Generating aggregated env files
conanfile.py (castcore/1.1): Generated aggregated env files: ['conanbuild.sh', 'conanrun.bat']
======== Calling build() ========
conanfile.py (castcore/1.1): Calling build()
conanfile.py (castcore/1.1): Running CMake.configure()
conanfile.py (castcore/1.1): RUN: cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/tmp/core/build/windows-msvc-193-x86_64/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/tmp/core" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/tmp/core"
-- Using Conan toolchain: /tmp/core/build/windows-msvc-193-x86_64/Release/generators/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 17 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
-- The CXX compiler identification is Clang 16.0.6 with MSVC-like command-line
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/clang-cl-16
-- Check for working CXX compiler: /usr/bin/clang-cl-16 - broken
CMake Error at /opt/conan/p/cmakee300763ec076c/p/share/cmake-3.29/Modules/CMakeTestCXXCompiler.cmake:60 (message):
The C++ compiler
"/usr/bin/clang-cl-16"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/tmp/core/build/windows-msvc-193-x86_64/Release/CMakeFiles/CMakeScratch/TryCompile-ltbOOX'
Run Build Command(s): /opt/conan/p/ninja6fed3c8400c5b/p/bin/ninja -v cmTC_55118
[1/2] /usr/bin/clang-cl-16 /nologo -TP -v -fcolor-diagnostics -target x86_64-pc-windows-msvc /winsdkdir /opt/win-sdk/sdk /vctoolsdir /opt/win-sdk/crt /DWIN32 /D_WINDOWS /EHsc /Zi /Ob0 /Od /RTC1 -std:c++17 /showIncludes /FoCMakeFiles/cmTC_55118.dir/testCXXCompiler.cxx.obj /FdCMakeFiles/cmTC_55118.dir/ -c -- /tmp/core/build/windows-msvc-193-x86_64/Release/CMakeFiles/CMakeScratch/TryCompile-ltbOOX/testCXXCompiler.cxx
Debian clang version 16.0.6 (15~deb12u1)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: /usr/bin
(in-process)
clang -cc1 version 16.0.6 based upon LLVM 16.0.6 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/opt/win-sdk/crt/atlmfc/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/llvm-16/lib/clang/16/include
/opt/win-sdk/crt/include
/opt/win-sdk/sdk/Include/10.0.22621/ucrt
/opt/win-sdk/sdk/Include/10.0.22621/shared
/opt/win-sdk/sdk/Include/10.0.22621/um
/opt/win-sdk/sdk/Include/10.0.22621/winrt
/opt/win-sdk/sdk/Include/10.0.22621/cppwinrt
End of search list.
[2/2] : && /opt/conan/p/cmakee300763ec076c/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_55118.dir --rc=llvm-rc-16 --mt=/usr/bin/llvm-mt-16 --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_55118.dir/testCXXCompiler.cxx.obj /out:cmTC_55118.exe /implib:cmTC_55118.lib /pdb:cmTC_55118.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
FAILED: cmTC_55118.exe
: && /opt/conan/p/cmakee300763ec076c/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_55118.dir --rc=llvm-rc-16 --mt=/usr/bin/llvm-mt-16 --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_55118.dir/testCXXCompiler.cxx.obj /out:cmTC_55118.exe /implib:cmTC_55118.lib /pdb:cmTC_55118.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
LINK Pass 1: command "/usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_55118.dir/testCXXCompiler.cxx.obj /out:cmTC_55118.exe /implib:cmTC_55118.lib /pdb:cmTC_55118.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles/cmTC_55118.dir/intermediate.manifest CMakeFiles/cmTC_55118.dir/manifest.res" failed (exit code 1) with the following output:
lld-link-16: error: could not open 'kernel32.lib': No such file or directory
lld-link-16: error: could not open 'user32.lib': No such file or directory
lld-link-16: error: could not open 'gdi32.lib': No such file or directory
lld-link-16: error: could not open 'winspool.lib': No such file or directory
lld-link-16: error: could not open 'shell32.lib': No such file or directory
lld-link-16: error: could not open 'ole32.lib': No such file or directory
lld-link-16: error: could not open 'oleaut32.lib': No such file or directory
lld-link-16: error: could not open 'uuid.lib': No such file or directory
lld-link-16: error: could not open 'comdlg32.lib': No such file or directory
lld-link-16: error: could not open 'advapi32.lib': No such file or directory
lld-link-16: error: could not open 'libcmt.lib': No such file or directory
lld-link-16: error: could not open 'oldnames.lib': No such file or directory
ninja: build stopped: subcommand failed.
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
-- Configuring incomplete, errors occurred!
ERROR: conanfile.py (castcore/1.1): Error in build() method, line 98
cmake.configure()
ConanException: Error 1 while executing The weird part is that I am able to cross-compile a simple #include <iostream>
int main()
{
std::cout << "Hello" << std::endl;
return 0;
} Using this command: May the issue come from my profiles? Here is the build one (Linux): [settings]
arch=x86_64
build_type=Release
compiler=clang
compiler.cppstd=17
compiler.libcxx=libstdc++11
compiler.version=16
os=Linux
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.build:compiler_executables = {"c": "clang-16", "cpp": "clang++-16"}
tools.build:cxxflags=["-fcolor-diagnostics"]
tools.build:exelinkflags=["-fuse-ld=lld"]
tools.build:sharedlinkflags=["-fuse-ld=lld"] And here is the host one (Windows): [settings]
arch={{detect_api.detect_arch()}}
build_type=Release
compiler=msvc
compiler.cppstd=14
compiler.runtime=dynamic
compiler.version=193
os=Windows
cast*/*:build_type=Release
cast*/*:compiler.cppstd=17
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.build:cxxflags=["-v -fcolor-diagnostics"]
tools.build:cxxflags+=["-fuse-ld=lld"]
tools.build:cxxflags+=["-target x86_64-pc-windows-msvc"]
tools.build:cxxflags+=["/winsdkdir /opt/win-sdk/sdk /vctoolsdir /opt/win-sdk/crt"]
tools.build:cxxflags+=["-flto -march=x86-64-v3"]
tools.build:compiler_executables={"c": "clang-cl-16", "cpp": "clang-cl-16", "rc": "llvm-rc-16"} |
try this in the host profile:
|
Tried, but did not work either. Are we sure to have the same tree? root@docker-desktop:/tmp# tree --filelimit 5 /opt/win-sdk/
/opt/win-sdk/
├── crt
│ ├── include [332 entries exceeds filelimit, not opening dir]
│ └── lib
│ ├── arm64 [48 entries exceeds filelimit, not opening dir]
│ └── x64 [45 entries exceeds filelimit, not opening dir]
└── sdk
├── Include -> include
├── Lib -> lib
├── include [6 entries exceeds filelimit, not opening dir]
└── lib
├── 10.0.22621 -> .
├── ucrt
│ ├── arm64
│ │ ├── libucrt.lib
│ │ └── ucrt.lib
│ └── x64
│ ├── libucrt.lib
│ └── ucrt.lib
└── um
├── arm64 [1082 entries exceeds filelimit, not opening dir]
└── x64 [1119 entries exceeds filelimit, not opening dir]
18 directories, 4 files |
I see! You're missing the debug ones. I have
and
from a while ago (VS 17.7.4) |
You need to pass |
Still no luck. Although the flags are passed in the conan profile through In fact, lld-link also takes [2/2] : && /opt/conan/p/cmakee300763ec076c/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_42d80.dir --rc=llvm-rc-16 --mt=/usr/bin/llvm-mt-16 --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_42d80.dir/testCXXCompiler.cxx.obj /out:cmTC_42d80.exe /implib:cmTC_42d80.lib /pdb:cmTC_42d80.pdb /version:0.0 -m64 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
FAILED: cmTC_42d80.exe
: && /opt/conan/p/cmakee300763ec076c/p/bin/cmake -E vs_link_exe --intdir=CMakeFiles/cmTC_42d80.dir --rc=llvm-rc-16 --mt=/usr/bin/llvm-mt-16 --manifests -- /usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_42d80.dir/testCXXCompiler.cxx.obj /out:cmTC_42d80.exe /implib:cmTC_42d80.lib /pdb:cmTC_42d80.pdb /version:0.0 -m64 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && :
LINK Pass 1: command "/usr/bin/lld-link-16 /nologo CMakeFiles/cmTC_42d80.dir/testCXXCompiler.cxx.obj /out:cmTC_42d80.exe /implib:cmTC_42d80.lib /pdb:cmTC_42d80.pdb /version:0.0 -m64 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles/cmTC_42d80.dir/intermediate.manifest CMakeFiles/cmTC_42d80.dir/manifest.res" failed (exit code 1) with the following output:
lld-link-16: warning: ignoring unknown argument '-m64'
lld-link-16: error: could not open 'kernel32.lib': No such file or directory |
they aren't since
doesn't indicate the path's inclusions. I've gotten around this by including I am unfamiliar with cmake (annoyingly so because learning resources are awful), so if this is some "hacky" way of doing it, I simply don't care, since I have tremendous difficulty finding why/where/how to address this/these issue(s). Just sharing what worked for me to hopefully help others move past this step. To anyone else, try duckduckgo-ing "clang-cl cmake linux" or something like that. Hopefully it leads you to something fruitful. |
The proper CMake way of doing this is using a toolchain file. |
What is your question?
Hello,
I would like to create CI jobs that run exclusively on linux runners. Since people in my company use Visual Studio extensively, I have to make my jobs able to create a 1:1 executable that the developers would get when compiling locally on their Windows machines.
I decided to go for clang for that purpose. I had to exclude any mingw-related compilers since (from what I understood), it would only target x86_64-pc-windows-gnu, while I need to target x86_64-pc-windows-msvc.
To test just that, I installed the Windows SDK 10.0.22621 on a docker container and created the following test.cpp:
And indeed, running this command
clang++-16 -v -fcolor-diagnostics -target x86_64-pc-windows-msvc -L/opt/win-sdk/10.0.22621/crt/lib/x86_64 -L/opt/win-sdk/10.0.22621/sdk/lib/ucrt/x86_64 -L/opt/win-sdk/10.0.22621/sdk/lib/um/x86_64 -I/opt/win-sdk/10.0.22621/crt/include -I/opt/win-sdk/10.0.22621/sdk/include/cppwinrt/ -I/opt/win-sdk/10.0.22621/sdk/include/shared/ -I/opt/win-sdk/10.0.22621/sdk/include/ucrt/ -I/opt/win-sdk/10.0.22621/sdk/include/um/ -I/opt/win-sdk/10.0.22621/sdk/include/winrt/ -flto -march=x86-64-v3 -fuse-ld=lld test.cpp
generates the following output and properly creates the executable:Log
For some reason, I get a lot more warnings than I do with clang on Windows, but it still compiles. However, I am unable to reproduce the same with conan. There must be a mistake with my profiles.
conan build core -pr windows-x86_64 -pr:b clang-x86_64 --build=missing
returns:Could you please indicate me what is wrong? Thanks in advance!
Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: