本帖最后由 xzlcc 于 2011-03-04 19:28:46 编辑

解决方案 »

  1.   

    试试-D_UNICODE -DUNICODE
    我在windows上用MingW加这2个gcc参数就可以了,但主函数必须是main,输入参数总是ANSI字符,比较郁闷!!!
      

  2.   

    刚搜到了MingW不支持tmain的解决办法,用如下一段代码代替原来的int tmain(int argc, TCHAR* argv[]) { 就行了:
    // 如果定义了“__GNUC__”,那么入口函数为:int main(int argc, char **a_argv),
    // 否则入口函数为:int _tmain(int argc, TCHAR **argv)
    #ifdef __GNUC__
    int main(int argc, char **a_argv)
    #else // !__GNUC__
    int _tmain(int argc, TCHAR **argv)
    #endif // __GNUC__
    {
    // 获得入口函数的参数
    #ifdef __GNUC__
        TCHAR **argv;
    #ifdef UNICODE
        // MinGW doesn't support wmain() directly, so we have to jump through some hoops
        extern void __wgetmainargs(int *argc, wchar_t ***wargv, \
                                   wchar_t ***wenviron, int expand_wildcards, \
                                   int *startupinfo);
        WCHAR **wenviron;
        int startupinfo;
        __wgetmainargs(&argc, &argv, &wenviron, 0, &startupinfo);
    #else // !UNICODE
        argv = a_argv;
    #endif // UNICODE
    #endif // __GNUC__