Двойное определение внутренней функции в stdio.h - PullRequest
0 голосов
/ 29 апреля 2020

Hello World аккуратно компилируется. Сузили это до:

#include <string>

int main () {
    string foo = std::to_string (1);
    return 0;
}

Как оказалось, у CodeBlocks есть проблема с разбором этой конкретной ошибки, поэтому я не мог найти ее полностью изначально. Он также не компилируется с использованием g ++ из командной строки:

mingw32-g++.exe -o test.exe main.cpp
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../libmingwex.a(vsnprintf.o):(.text+0x0): multiple definition of `vsnprintf'; C:\Users\inaki\AppData\Local\Temp\ccMZNor2.o:main.cpp:(.text$vsnprintf[_vsnprintf]+0x0): first defined here
collect2.exe: error: ld returned 1 exit status

OnlineGDB компилирует его без проблем. Что здесь происходит?

...