You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Debian Testing上用Clang++交叉编译Windows平台C++23程序时,使用std::println出现重复段错误的解决求助

在Debian Testing上用Clang交叉编译Windows平台C23程序时,使用std::println出现重复段错误的解决求助

各位好,我最近在Debian Testing环境下尝试用Clang交叉编译Windows平台的C++23程序,碰到了一个搞不定的问题,想请教下大家。

我先从官方源安装了最新版本的Clang和MinGW,然后写了一个非常简单的测试程序,代码如下:

#include <print>
int main() {
    using namespace std;
    println("Hello World!");
}

接着我用这条命令尝试编译:

clang++-18 --target=x86_64-pc-windows-gnu --std=c++23 ./test.cpp -o ./test.exe --static -lstdc++exp

结果编译失败了,弹出了一大串重复段错误的提示,核心内容大概是这样的:

/usr/lib/gcc/x86_64-w64-mingw32/14-win32/libstdc++.a(eh_alloc.o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
/usr/lib/gcc/x86_64-w64-mingw32/14-win32/libstdc++.a(eh_exception.o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
...(还有很多几乎一模一样的重复段错误信息)

我自己琢磨了下,猜测是LD在链接的时候同时把libstdc++.a和libstdc++exp.a都链进了同一个二进制文件里,才导致了这种冲突,但我实在不知道该怎么阻止这种情况发生。有没有大佬能给我指条明路呀?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 10:34:35