Xmake 版本
3.0.8
操作系统版本和架构
ubuntu 24
描述问题
使用 clang 编译时,设置 stdlib 为 libcxx 也就是 set_runtimes("c++_static") ,xmake 会错误的添加一个 gcc 的链接命令 -static-libstdc++ ,导致最终的链接失败,如下:
/usr/local/LLVM-21.1.0/bin/clang++ -o build/linux/x86_64/release/main build/.objs/main/linux/x86_64/release/main.cpp.o build/.objs/main/linux/x86_64/release/usr/local/LLVM-21.1.0/share/libc++/v1/std.cppm.o build/.objs/main/linux/x86_64/release/mod.mpp.o -m64 -stdlib=libc++ -L/usr/local/LLVM-21.1.0/lib -L/usr/local/LLVM-21.1.0/lib/x86_64-unknown-linux-gnu -static-libstdc++
经过我的测试发现,这种错误似乎只存在于 module 的构建中。也就是说我需要添加一个空的 mpp 文件,并将其添加到构建命令中才会触发。
附加信息和错误日志
我准备了一个最小复现 example.zip
错误日志 error.txt
Xmake 版本
3.0.8
操作系统版本和架构
ubuntu 24
描述问题
使用 clang 编译时,设置 stdlib 为 libcxx 也就是 set_runtimes("c++_static") ,xmake 会错误的添加一个 gcc 的链接命令
-static-libstdc++,导致最终的链接失败,如下:经过我的测试发现,这种错误似乎只存在于 module 的构建中。也就是说我需要添加一个空的 mpp 文件,并将其添加到构建命令中才会触发。
附加信息和错误日志
我准备了一个最小复现 example.zip
错误日志 error.txt