-
Notifications
You must be signed in to change notification settings - Fork 142
Open
Description
I'm trying to cross-compile the SDL 3 library using llvm-clang targeting x86_64-pc-windows-gnullvm from linux. I've set up the cross-compiler and a toolchain file for cmake, and I can successfully build SDL for windows using these. However, when trying to compile it from a build script with the cmake crate, even when passing the toolchain file to cmake and overriding rust's linker to use lld, I get this error:
CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message):
The C compiler
"/opt/llvm-mingw/llvm-mingw-ucrt/bin/x86_64-w64-mingw32-clang"
is not able to compile a simple test program.
It fails with the following output:
(...)
FAILED: [code=1] cmTC_aaf08.exe
: && /opt/llvm-mingw/llvm-mingw-ucrt/bin/x86_64-w64-mingw32-clang --sysroot=/opt/llvm-mingw/llvm-mingw-ucrt -ffunction-sections -fdata-sections -m64 --target=x86_64-pc-windows-gnu -fuse-ld=lld CMakeFiles/cmTC_aaf08.dir/testCCompiler.c.obj -o cmTC_aaf08.exe -Wl,--out-implib,libcmTC_aaf08.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && :
lld: error: unable to find library -lgcc
lld: error: unable to find library -lgcc_eh
lld: error: unable to find library -lgcc
lld: error: unable to find library -lgcc_eh
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
I haven't found a way to fix it. libgcc isn't available for windows-gnullvm, everything's compiled with clang for windows, and I have no idea where that requirement comes from. Since it works with plain cmake I think the bug is in the cmake crate.
Metadata
Metadata
Assignees
Labels
No labels