使用iconv编译器在Windows上使用Mingw编译器

问题描述:

一天的美好时光!使用iconv编译器在Windows上使用Mingw编译器

我在Ubuntu上用g ++ 4.7.2编译了这段代码,但是我在使用Mingw编译Windows时遇到了问题。

简化代码:

size_t string_length=some_size; 
char arr_symb[string_length+1]; 

char *outputde=arr_symb; 
iconv_t type=iconv_open("UTF-8","WINDOWS-1251"); 

char output[some_size]; 

char *p1=arr_symb; 
char *p2=output; 

if ( iconv(type, &p1,&string_length, &p2, &output_length) == -1)// here 
     // is mistake, it doesn't like pointers p1 and p2 but I wonder why 

    log_info("something went wrong"); 

在Linux上与G ++就可以编译和它应该工作正常。使用MinGW我得到的错误:

enter image description here

我不知道,如果它工作正常使用g ++,为什么MinGW的对待​​它,喜欢它的错?

在此先感谢!

加成
我MinGW的版本是4.4.0
版本的GCC 4.7.2是

+0

MinGW使用什么版本的GCC? – chris

+0

Mingw版本是4.4.0和 GCC版本是4.7.2 – Tebe

感谢所有的关注,问题就解决了,但是这一切都奇怪,我(目前还不清楚)

虽然功能具有这样的原型,

enter image description here

使用MinGW它应该被称为这样:

enter image description here

那么,问题是,MinGW的输入字符串应该不断传递(也它不具有这样的原型)。