2012-10-13 15 views
13

Desidero compilare la mia soluzione di Visual Studio , con tre progetti, in Linux utilizzando GCC. La soluzione contiene due progetti DLL e un progetto (.EXE) che utilizza queste DLL. Il codice sorgente non contiene alcuna dipendenza di Windows.Genera Make Files (per GCC) da Visual Studio Solution

Come convertire la soluzione (con 3 progetti) per creare file che possono essere compilati in Linux utilizzando GCC.

C'è uno strumento per convertire la soluzione di Visual Studio (progetto) per creare file/s.

La versione di Visual Studio è Visual Studio 2008

+4

utilizzare [make-it-so] (http://code.google.com/p/make-it-so/), anche [vedere le risposte qui] (http: //stackoverflow.com/questions/6649606/vcxproj-to-cmake). –

+3

Funziona perfettamente con VS2013? – remus

risposta

1

In primo luogo, Linux non hanno oggetti DLL, ha condiviso che possono essere collegati in modo dinamico, con una diversa semantica. Leggi Linkers & Loaders libro di Levine per di più, e il Program Library Howto

Poi, penso che non si dovrebbe cercare di convertire il progetto di VS in un Makefile, si dovrebbe codificare un buon Makefile da soli.

Non dimenticare di configurare il Makefile modo che -Wall viene passato a GCC (e forse anche -std=gnu99 e -g se volete informazioni di debug, probabilmente attraverso CFLAGS o CXXFLAGS).

A meno che il programma non sia un milione di righe di codice, non avrete molti problemi nello scrivere il vostro Makefile. Consiglio vivamente di imparare a usare GNU make e di leggere la sua documentazione, che mi sembra ben scritta (con qualche parte del tutorial). Si potrebbe dare un'occhiata all'uscita di make -p che fornisce la "conoscenza integrata" di GNU make.

Si potrebbe anche guardare all'interno delle applicazioni Linux esistenti del software libero e studiarne il Makefile.

BTW, in caso di problemi durante il debug dei file make, utilizzare remake.

Non pensare in termini di "conversione della mia app in Linux" ma più in termini di "codifica di un'app Linux".

Si noti che alcuni framework (in particolare Qt) esistono per sviluppare software in modo passivo su Linux, Windows e MacOS. Potresti anche usarli per applicazioni non GUI.

Non dimenticare di leggere materiale come advanced linux programming e advanced unix programming

Problemi correlati