ThKattanek / emu64

C64 Emulator
https://www.thorsten-kattanek.de/index.php/projekte/emu64
GNU General Public License v2.0
37 stars 5 forks source link

Filename wird unter Windows per comandline nicht richtig übergeben. "└┘┌┐EXCESSAB┌┐└┘.PRG" #209

Open ThKattanek opened 3 years ago

ThKattanek commented 3 years ago

Das ganze liegt wohl daran das ich nur >> int main(int argc, char *argv[]) << verwende. Unter Linux läuft alles super unter Windows wird die Unicode Variante benötigt.

wmain( int argc, wchar_t argv[ ], wchar_t envp[ ] ) <<

Zirias commented 3 years ago

Anstatt Windows-spezifischen non-standard Murks selbst einzubauen, kann man auch den recht praktischen QCommandLineParser verwenden, Beispiel: https://github.com/excess-c64/v1541commander/blob/master/src/bin/v1541commander/main.cpp#L104

Übrigens laufen gerade schon die test-builds von 5.0.19 für FreeBSD, ist hoffentlich recht bald in den Ports. Überlege noch, ob ich die Release-Notes selbst übersetze oder einfach ignoriere fg ;-)

Noch ne Randnotiz: Wenn man es "zu Fuß" machen will, ohne die Standard main() Signatur über den Haufen zu werfen, hilft auch diese Funktion: https://docs.microsoft.com/en-us/windows/win32/api/processenv/nf-processenv-getcommandlinew

ThKattanek commented 3 years ago

Danke Felix für die Hinweise und Anregungen. Das werde ich mir mal genauer ansehen. Bin über den QCommandLineParser selber noch nicht gestolpert. Macht bestimmt einiges leichter. Ich sollte mir mal die Zeit nehmen und die Qt Referenz einfach mal so zu durchstöbern. Schön das du den FreeBSD Port weiter pflegst.