Vorrei sapere come impedire a gcc con Cygwin di aggiungere automaticamente l'estensione .exe ai file compilati, perché mi sono creato molta confusione con i "file mancanti". Per contesto, sto lavorando a un progetto C per università e di solito lavoro nei laboratori che eseguono Ubuntu (dual-boot con Windows), ma per lavorare da casa preferisco usare la mia macchina Windows, ergo Cygwin. Se rimuovo solo l'estensione funziona ancora bene su entrambi i sistemi, ma è piuttosto frustrante dover cambiare il comando per includere l'estensione ogni volta che l'ho appena compilato con Cygwin.Come posso interrompere gcc con Cygwin aggiungendo ".exe" agli eseguibili compilati?
Ho cercato le FAQ da Cygwin per scoprire che probabilmente è un problema correlato a una variabile di ambiente in .bashrc o .bash_profile (see here), ma non sono un ninja a linea di comando e non ho molta familiarità con la configurazione di modifica file ... ho trovato due questioni correlate, così che mostrano lo stesso comportamento, ma non hanno nulla a che fare con il tentativo di cambiarlo:
Compiling with gcc (cygwin on windows)
Executable file generated using gcc under cygwin
Tutte le idee?
EDIT: In realtà è per un progetto MPI in C quindi ho un Makefile che chiama mpicc ma che non è veramente rilevante per il problema, dal momento che ho appena provato anche con gcc ed entrambi fanno la stessa cosa. Ai fini di questa domanda, i comandi e le uscite che ricevo sono:
$ gcc -o hello hello.c
$ ls
hello.c hello.exe
$./hello
Hello, world!
$./hello.exe
Hello, world!
Nota che in esecuzione con o senza l'estensione fa la stessa cosa nel guscio, ma non lo fa con mpirun che è per questo che voglio cambia questo comportamento.
EDIT: Alla fine ho deciso che Windows non è l'ambiente di programmazione per me. D'ora in poi tutto il lavoro che può essere fatto in Linux sarà. Ringrazia tutti.
Qual è la riga di comando che si sta utilizzando per richiamare gcc? –
Questo non risponde alla tua domanda, ma potresti provare a eseguire Ubuntu in una macchina virtuale come VirtualBox. Quindi non dovrai preoccuparti di problemi come questo e il tuo ambiente a casa può essere esattamente come quello a scuola. –