MyTetra Share
Делитесь знаниями!
MinGW
Время создания: 07.07.2017 10:42
Раздел: Computer - Programming

Для обновления MinGW требуется через командную строку зайти в директорию, куда он установлен. В моем случае это:

cd C:\MinGW\bin\

Далее обновляем локальные копии каталога репозитория:

mingw-get update

Обновляем все установленные пакеты:

mingw-get upgrade


После этого, по идее, можно радоваться.


Мой Sublime build для MinGW32 (на 07.07.2017):

{

"path": "C:\\MinGW\\bin\\",

"working_dir": "${file_path}",

"cmd": ["g++", "${file}", "-std=c++11", "-o", "${file_base_name}.exe", "-static", "-s", "-O2"],

"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

"selector": "source.c, source.c++, source.cpp",

"encoding": "cp866",


"variants":

[

{

"name": "Run",

"working_dir": "${file_path}",

"shell": true,

"cmd": ["start", "${file_base_name}.exe"]

}

]

}


Заметил проблемы MinGW при попытке заюзать функцию to_string();

Эта тварь выдает на этапе компиляции ошибку:


c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../..\libmingwex.a(vsnprintf.o):(.text+0x0): multiple definition of `vsnprintf'

C:\Users\AAK~1\AppData\Local\Temp\ccySKMYW.o:final_v2.cpp:(.text$vsnprintf[_vsnprintf]+0x0): first defined here

collect2.exe: error: ld returned 1 exit status


SO подсказал добавить дейфайн перед инклюдами:


#define __USE_MINGW_ANSI_STDIO 0


После чего все заработало.


There are multiple definitions of vsnprintf in both stdio.h and libmingwex.a. I am able to work this around by adding #define __USE_MINGW_ANSI_STDIO 0 to the start of the code, before any includes, which disables the definition of vsnprintf in stdio.h.








 
MyTetra Share v.0.53
Яндекс индекс цитирования