Domanda

Qual è il modo migliore e più semplice per creare (per Linux) un'applicazione C ++ scritta in Visual Studio? Il codice stesso è pronto: ho usato solo librerie multipiattaforma.

È possibile preparare tutto sotto Windows in Visual Studio e quindi crearlo con uno strumento CLI sotto Linux? Ci sono dei documenti che lo descrivono?

MODIFICA: Altre informazioni:

  • Libs usati: stl, wxwidgets, boost, asio, cryptlib.

  • Pochissimo know-how Linux.

EDIT # 2: Ho scelto la seguente soluzione: crea un nuovo progetto con kdevelop e compila tutto lì.

È stato utile?

Soluzione

Stiamo usando i progetti CMake per Linux. CMake può generare file di progetto KDevelop e Visual Studio, quindi puoi semplicemente creare il tuo file CMake come origine dei file IDE specifici della piattaforma. Il generatore di KDevelop va bene, quindi puoi modificarlo e compilarlo in KDevelop (che a sua volta chiamerà Make).

D'altra parte, se non hai niente di speciale, puoi usare CMake o semplicemente Make per creare qualcosa su Linux, se vuoi rimanere con il tuo file di soluzione (che è quello che sto facendo attualmente per una libreria con applicazioni di test). Questo approccio diventa complicato quando il tuo processo di compilazione è molto più di un semplice "lancio di questi file nel compilatore e vediamo cosa fa", quindi la soluzione CMake è secondo me una buona cosa per lo sviluppo multipiattaforma.

Altri suggerimenti

Ecco come compilare manualmente il codice C in Linux senza strumenti di compilazione aggiuntivi :

gcc -s -O2 -o prog -I. -Iincludedir1 -Iincludedir2 -Llibdir1 -Llibdir2 code1.c code2.c -luse1 -luse2

Tuttavia, se il tuo progetto è più grande di un paio di file, potresti invece utilizzare uno strumento di creazione (come CMake, vedi la risposta di OregonGhost) per automatizzare la compilazione di molti file e è incrementale. Se usi uno strumento di compilazione, eseguirà gcc sotto il cofano, con argomenti simili sopra. È utile comprendere gli argomenti di cui sopra, quindi è possibile risolvere i problemi se la compilazione automatica non riesce.

Questo compilerà code1.c e code2.c in prog binario eseguibile, caricando file .h da., includedir1 e includedir2, caricando librerie (es. libuse1.so * e libuse2.so *) dalle directory libdir1 e libdir2, usando librerie use1 (corrispondente al nome file libuse1.so *) e use2.

Se ricevi errori di simbolo non definiti nei tuoi file .c, devi specificare più flag -I . Se ricevi errori di simbolo indefiniti nel file .o, devi specificare più flag -l . Se ricevi non riesci a trovare gli errori -l ... , devi specificare più flag -L .

8 anni dopo ...

Oggi mi sono imbattuto in questa domanda e ho pensato che ti sarebbe piaciuto & nbsp; dare un'occhiata a Visual C ++ per Linux .

Rilasciato a marzo 2016, VC ++ per Linux ti consente di creare un progetto & nbsp; in VC ++, e quindi di costruirlo in una macchina Linux / VM & nbsp; usando gli strumenti nativi di Linux. Inoltre, puoi anche eseguire il debug della tua app da VS & nbsp; poiché gli strumenti Linux consentono al debugger VS di guidare & nbsp; GDB nella tua macchina / VM Linux tramite SSH !!

Sembra che questo sia quasi esattamente ciò che @mspoerr stava chiedendo :)

  

Qual è il modo migliore e più semplice per creare un'applicazione c ++, che è stata scritta con Visual Studio, per Linux? Il codice stesso è pronto - ho usato solo librerie multipiattaforma.

  • Controlla se c'è qualcosa che non fa parte dello Standard C ++
  • Risciacqua e ripeti
  • Crea un makefile o un progetto KDevelop

Et voilà!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top