Autore: Fabio Di Matteo
Ultima revisione: 26/11/2018 - 10:59
Creare un collegamento o uno script con il seguente comando:
msys2_shell.cmd -mingw64 -c /c/mia_cartella/mioprogramma.exe
-mingw64 indica che vogliamo l'ambiente di sviluppo a 64 bit;
Per far in modo da non visualizzare la finestra del terminale mi sono servito di un collegamento Windows che lancia un apposito script python che lancia a sua volta finalmente l'eseguibile.
Il testo da inserire nel collegamento
C:\msys64\usr\bin\mintty.exe -w hide /bin/env MSYSTEM=MINGW64 /bin/bash -lc /home/Admin/mioprog.exe
C:\msys64\usr\bin\mintty.exe -w hide /bin/env MSYSTEM=MINGW64 /mingw64/bin/python3 /c/path/to/miotest.py
oppure creare un eseguibile con questo codice:
#include <stdio.h> #include <string.h> #include <windows.h> #include <libgen.h> int main(int argc, char** argv) { char cmd[200]; char* msys2= "\\usr\\bin\\mintty.exe -w hide /bin/env MSYSTEM=MINGW64 /mingw64/bin/python3 " ; sprintf ( cmd, "%s%s%s", dirname(argv[0]),msys2,argv[1] ); STARTUPINFO info={sizeof(info)}; PROCESS_INFORMATION processInfo; if (CreateProcess(NULL, cmd, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &info, &processInfo)) { CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread); }else { MessageBox( NULL, "Creazione del processo fallita!", "Attenzione", MB_OK | MB_ICONERROR| MB_TASKMODAL); } return 0; }
makefile
all: gcc run.c -mwindows -o runmsys2
run.c
#include <stdio.h> #include <string.h> #include <windows.h> int main(int argc, char** argv) { char cmd[200]; char* msys2= "C:\\msys64\\usr\\bin\\mintty.exe -w hide /bin/env MSYSTEM=MINGW64 /bin/bash -lc " ; sprintf ( cmd, "%s%s", msys2,argv[1] ); STARTUPINFO info={sizeof(info)}; PROCESS_INFORMATION processInfo; if (CreateProcess(NULL, cmd, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &info, &processInfo)) { CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread); }else { MessageBox( NULL, "Creazione del processo fallita!", "Attenzione", MB_OK | MB_ICONERROR| MB_TASKMODAL); } return 0; }
makefile
all: gcc run.c -mwindows -o runmsys2
Se si vuole creare un avviatore per script grafici basta sostituire il contenuto della variabile char* msys2
con la stringa adatta a caricare l'interprete per script grafici (vedi su).
@echo off start /B C:\msys64\usr\bin\mintty.exe -w hide /bin/env MSYSTEM=MINGW64 /bin/bash -lc /c/Users/Admin/Desktop/test/myscript.py
Set oShell = CreateObject ("Wscript.Shell") Dim strArgs strArgs = "C:\msys64\usr\bin\mintty.exe -w hide /bin/env MSYSTEM=MINGW64 /bin/bash -lc /c/Users/Admin/Desktop/test/myscript.py" oShell.Run strArgs, 0, false
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.