社区讨论

std::print()在mingw15.2.0无法通过编译

学术版参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mhjadb4r
此快照首次捕获于
2025/11/03 23:19
4 个月前
此快照最后确认于
2025/11/03 23:19
4 个月前
查看原帖
以下这份 A+B problem 的代码在洛谷上可以通过,但在本地使用 mingw-builds-binaries 15.2.0 无法通过编译。
按理来说 gcc 版本是 15.2.0 应该支持 std::print() 的。请问这个错误的原因是 mingw 对 std::print() 的实现不完善吗?
CPP
#include<bits/stdc++.h>
int main(){
	int a,b;
	std::cin>>a>>b;
	std::println("{}",a+b);
	return 0;
}
CPP
g++ -std=c++23 -O2 -Wall -o test.exe test.cpp
错误信息如下:
CPP
test.cpp:(.text$_ZSt14vprint_unicodeP6_iobufSt17basic_string_viewIcSt11char_traitsIcEESt17basic_format_argsISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE[_ZSt14vprint_unicodeP6_iobufSt17basic_string_viewIcSt11char_traitsIcEESt17basic_format_argsISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE]+0xff): undefined reference to `std::__open_terminal(_iobuf*)'
test.cpp:(.text$_ZSt14vprint_unicodeP6_iobufSt17basic_string_viewIcSt11char_traitsIcEESt17basic_format_argsISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE[_ZSt14vprint_unicodeP6_iobufSt17basic_string_viewIcSt11char_traitsIcEESt17basic_format_argsISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE]+0x167): undefined reference to `std::__write_to_terminal(void*, std::span<char, 18446744073709551615ull>)'
collect2.exe: error: ld returned 1 exit status

回复

3 条回复,欢迎继续交流。

正在加载回复...