» »

Portanje MFC aplikacije na Linux in Mac

Portanje MFC aplikacije na Linux in Mac

sas084 ::

Živjo

Zahteva je da se aplikacijo, ki je spisana v C++ z ATL/MFC porta na Linux in Mac. Cela aplikacija je v grobem razdeljena na dva dela:
- GUI za vnos in prikaz podatkov
- "core", ki komunicira s strojno opremo, obdeluje podatke itd.

Za portanje samega GUI-ja na Linux/Mac sem naletel na te framework-e:
- wxWidgets
- QT
- GTK+

Za portanje ostalega pa mi pride na pamet le uporaba boost-a.

Kateri framework se najbolj splača uporabiti (nekje sem zasledil da ima wxWidgets lahko probleme z Mac-om) ?
Obstajajo katere druge knjižnice namesto boost-a ?

U glavnem, kakršnekoli priporočila in informacije so dobrodošle :).

Mavrik ::

To je v resnici zelo premalo informacij o tem, kaj aplikacija dela. Nimamo namreč pojma kako zahteven je GUI, kaj točno pomeni "komunikacija s strojno opremo" in koliko abstraction layerja sploh rabiš.
The truth is rarely pure and never simple.

noraguta ::

sas084 je izjavil:

Živjo

Zahteva je da se aplikacijo, ki je spisana v C++ z ATL/MFC porta na Linux in Mac. Cela aplikacija je v grobem razdeljena na dva dela:
- GUI za vnos in prikaz podatkov
- "core", ki komunicira s strojno opremo, obdeluje podatke itd.

Za portanje samega GUI-ja na Linux/Mac sem naletel na te framework-e:
- wxWidgets
- QT
- GTK+

Za portanje ostalega pa mi pride na pamet le uporaba boost-a.

Kateri framework se najbolj splača uporabiti (nekje sem zasledil da ima wxWidgets lahko probleme z Mac-om) ?
Obstajajo katere druge knjižnice namesto boost-a ?

U glavnem, kakršnekoli priporočila in informacije so dobrodošle :).
wx je deleč najbližji mfcju. ne pokriva pa vsega. procesni management boš moral naredit praktično na novo. glede maosx je pa stvar bolj v tem ali vzmeš nek precompilariran lib ali pa (bole) vso stvar statično povezeš.
ostala dva toolkita sta sicer "boljša" ampak je preej več portanja.
Pust' ot pobyedy k pobyedye vyedyot!

smoke ::

Če se imaš rad, izberi Qt :) Sicer afaik ni niti malo podoben MFCju (kar je dobro!) ampak ima pa ogromen library, Designer za dizajniranje GUI-jev in je kr portable med OS-i. Kaj se pa tiče komuniciranja s strojno opremo. Tukaj se zna zataknit glede na to da bi rad crossplatform.

Kaj točno pa delaš? :)

sas084 ::

Evo primer GUI-ja:



Mislim da gui sam po sebi ni kompliciran, aplikacija pa je namenjena kontroli industrijskega printerja.
U glavnem to bi bilo potrebno portati na Linux in Mac (ker baje da gonilniki že obstajajo le
aplikacije ne, čeprov me to malo čudi). Nažalost se nisem dosti ukvarjal z gui-jem pod linuxom
zato pa rabim nasvete :). Za samo logiko in funkcjonalnost med aplikacijo in gonilnikom (trenutno
uporablja ATL/MFC komponente) pa sem mislil uporabiti boost knjižnico. Tle zaenkrat gre samo za predloge,
kaj bi bilo po vaše najbolje uporabiti za samo izvedbo.

noraguta ::

Bluefish ti bo pomagal . Je brihten čez vse. Kar kontaktiraj ga. Sicer pa atl ne bo sšel skozi tako da res lahko portaš vse skupaj na qt, sploh ker niti drajverji niso spisani v istinamiri. Gui je pa praktično osnoven.
Pust' ot pobyedy k pobyedye vyedyot!

sas084 ::

Za sam GUI me ne skrbi preveč (razn moje švoh znanje), bolj sam ATL in ostalo.
Hvala vsem za odgovore.

MrBrdo ::

Bolj pozabi da boš MFC kam portal... :) Pomoje se ti najbolj splača napisat v Javi ali pa v kakšnem interpretiranem jeziku, pa ti bo lepo delalo povsod. No odvisno kako zgleda driver za ta printer, če ga je možno uporabljat. Še vedno pa bi lahko vsaj GUI in te stvari napisal v kakšnem bolj življenskem jeziku.
MrBrdo

usoban ::

Kot je MrBrdo rekel, Java ali pa kak Mono, ce se da uporabit driverje. Predvsem zato, da ni potrebno kasneje vzdrzevati dveh aplikacij.

sas084 ::

Tud sam sem že študiral de bi uporabu Javo/.NET, bomo vidli kako bodo zadovolni s predlogom, sploh pa mormo najprej driver-je dobit in preštudirat,
da vidmo, ki nam preostane :).

Mavrik ::

Z Monotom boj kar previden, saj zna biti precej hroščat (prevsem GC je dost zanič in porablja precej več pomnilnika na Linux sistemih in se občasno sesuva), tako da raje poglej v smeri Jave.
The truth is rarely pure and never simple.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C++ Izdelava GUI programa

Oddelek: Programiranje
10876 (676) zacetnik11
»

[c++][linux]GUI programje

Oddelek: Programiranje
101627 (1412) 'FireSTORM'
»

c++, linux in hardware

Oddelek: Programiranje
61062 (959) CCfly
»

[c++] & Win32 API?

Oddelek: Programiranje
131797 (1602) 64202
»

Linux/Windows C/C++ programiranje

Oddelek: Programiranje
111388 (1215) noraguta

Več podobnih tem