windows - MinGW g++ : Multiple definition of vsnprintf when using to_string

标签 windows c++11 gcc g++ mingw

我刚刚开始使用Windows版MinGW。尝试使用创建可执行文件时
g++ a.cpp -o a.exe -std=c++14
对于以下代码:

#include <string>

using namespace std;

int main()
{
    string x = to_string(123);
    return 0;
}

我收到以下错误:
C:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingwex.a(vsnprintf.o):(.text+0x0): multiple definition of vsnprintf
C:\Users\..\Local\Temp\cc4sJDvK.o:c:/mingw/include/stdio.h:426: first defined here
collect2.exe: error: ld returned 1 exit status

此错误的根本原因是什么,如何使它消失?虽然我可以轻松找到to_string()函数的替代品,但不确定是什么原因导致此错误首先发生。

最佳答案

我使用MinGW w64编译器解决了这个问题

  • 下载mingw-w64-install.exe
  • 设置为版本:6.3.0,体系结构:i686,线程:posix,异常:矮级和内部版本:2。

  • 我希望这会有所帮助。

    关于windows - MinGW g++ : Multiple definition of vsnprintf when using to_string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59498009/

    相关文章:

    java - 将 rJava 加载到 R 中时如何在 Windows 10 中设置 JAVA_HOME 和 PATH

    windows - 测量 Windows 中设备驱动程序的内存使用情况

    c++ - DXGI 显示器枚举未提供 Dell P2715Q 显示器的完整尺寸

    c++ - 无法从 main.cpp 中的共享库捕获异常

    c++ - 字符串文字的值类别是什么?

    c++ - C++ 中复杂问题的手动矢量化/SSE

    c - American Fuzzy Lop 以一个简单的例子失败

    windows - 本地文件 blob 保存

    c - 即使设置了 sysroot,ld.exe 也找不到/lib/libc.so.6

    c++ - 从右值对象返回左值引用的成员函数