Así que entrar en la nueva milenios Reescribí mi código C++ con:de Windows argv Unicode comandos
int main(int argc, wchar_t **argv)
Si se construye con Unicode o MBCS opciones a continuación, cuando la aplicación se ejecuta con una arg de comandos, ya sea directamente o por dbl-clic en los nombres de archivo pasados a argv [] son ilegibles = en alguna mezcla de fuentes chinas.
Gracias por los comentarios - Voy a intentar y resúmenes (z) e ellos aquí para el motor de búsqueda.
wmain(int argc,char **argv)
sólo se puede utilizar para una línea de comandos (subsistema: consola) aplicaciónint winMain(int argc, wchar_t **argv)
obras para una interfaz gráfica de usuario (subsistema: ventanas), pero la interfaz gráfica de usuario lo reemplaza con su propio punto de entrada. En el caso de Qt esto no funcionaqtmaind.lib (qtmain_win.obj): LNK2019 de error: símbolo externo sin resolver _MAIN referencia en función de _WinMain @ 16
La solución parece ser el uso main(int arc,char **argv)
o main(int argc,wchar_t**argv)
pero ignore el argv. Luego llame a QApplication con argv o NULL: el argv se ignora cuando Qt llama internamente a GetCommandLine().
Luego use app.arguments para devolver los argumentos analizados.
Estos se pueden convertir de nuevo en wchar con las funciones de cadena de Qt si es necesario.
QApplication app(argc, (char**)argv); or QApplication app(argc,NULL);
QStringList args = app.arguments();
Lo siento, no he marcado este Qt originalmente porque no creía que fuera relevante.
Si alguien quiere editar esto para incluir también cómo hacerlo en MFC, por favor.
+1 ¡De este Googler! – knight666