Sziasztok!
A sourceforge.net-en találtam egy számomra szimpatikus oszcilloszkóp progit, ami a hangkártya bemenő jelét tudja megjeleníteni.
http://sourceforge.net/project/showfiles.php?group_id=200880
A program rövid tájékoztatója azt ígéri, hogy multi-platformos. Letöltöttem a forráskódot, és elkezdtem nézegetni. Első meglepetés akkor ért, amikor az összes forráskódot végignéztem, de nem találtam a main() függvényt.
1. Hogyan lehet egy ilyen forráskódot lefordítani, ha nem szerepel benne egyébként a main() függvény. Ismereteim szerint ez kötelező tartozéka minden C++ programnak.
Ennek ellenére megkíséreltem UBUNTU Linux alatt lefordítani a programot a make paranccsal. A makefile.gcc fájlt átneveztem makefile-ra, és elindítottam a make parancsot. Természetesen csőd lett belőle, mivel a g++.exe fájl segítségével próbálta volna lefordítani a programot, és természetesen nekem nincs ilyenem UBUNTU Linux alatt.
2. Elképzelhető, hogy ez a program mégsem multi-platformos?
4. Sejti valaki, hogy hogyan lehet egyébként ezt a programot Windows alatt lefordítani? (Le lehet tölteni az EXE programot is, de engem nem az érdekel, hogy az meglegyen, hanem a fordítás módszere.)
5. Tudtok olyan oszcilloszkóp programot ajánlani, ami Linux alatt (és esetleg Windows alatt is) fordítható és futtatható?
Előre is köszönöm a segítő hozzászólásokat!
- 3585 megtekintés
Hozzászólások
make -f makefile.linux?
- A hozzászóláshoz be kell jelentkezni
Lehetseges, ha valaki atdefinialja a main-t valami #define segitsegevel. Ezen felul lehet, hogy csak elkerulte a figyelmedet (hint: grep -rl 'int main' /ahol/a/forras/van).
Windows alatt a MinGW es az MSYS lesz a segitsegedre, valamint a program README vagy INSTALL fajlja, hogy meg mik kellenek neki (Platform SDK pl. lehet hogy kell).
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
belenéztem abba a makefileba, totál nemjó... :S
a
CXX=g++.exe
sorból kitörlöd a .exe -t akkor legalább elkezdi lefordítani, de arra nem jöttem rá hogy kéne átírni a többit hogy be tudja linkelni a megfelelő libeket.
Szerk.:
+ ahogy elnézem pl. az audmes.cpp fájlban ilyen van hogy
#include < windows.h >
Szerintem ez a kód nem nagyon multiplatformos...
---
"Ne ugass be mert felveszlek MSN-en és letiltalak vazze!"
- A hozzászóláshoz be kell jelentkezni
a main() függvény nem kötelező eleme a c/c++ programoknak. A linkeléskor kell tudnia a linkernek, hogy melyik függvény lesz a program indulási pontja, de előfordulhat az is, hogy futásidőben dől el dinamikusan (pl. a keretrendszer hív meg egy inicializáló vagy eseménykezelő metódust, akár konfigurációból is jöhet, hogy mely osztályon).
Ez a program nem wxWidgets-et használ véletlenül? mindenütt wxXXXX dolgokra van hívatkozás.
Amúgy a program fő fájlja az AudMeS.cpp, ennek a végén található az AudMeSApp, ami egy wxApp leszármazott. Ennek az OnInit() metódusa a belépési pont. A teljes program tényleges indulási pontja meg a wxWidgets keretrendszerben található.
Na belenéztem a makefile-ba is, kézzel van összehányva, azért egy autoconf/automake nem ártana. wxWdigets-2.6.4-et használ, ennek megfelelően kell a libeket alápakolni és úgy átírni a makefile-t, hogy menjen linux-szal is.
- A hozzászóláshoz be kell jelentkezni
Na, átfutottam. A wxWidgets miatt multiplatformosnak kéne lennie, de az RWAudio_win.cpp mintájára meg kéne írni a linuxos audio illesztést is. Ehhez a részéhez nem értek, több napi utánjárással tudnám csak megcsinálni. Az AudMeS.cpp elején ott egy windows.h include, de lehet, hogy ott abból semmit se használ, az RWAudio_win.cpp-vel meg nem kell foglalkozni. Ezeket leszámítva úgy tűnik, hogy nem windows függő, szóval a multiplatformosságot szem előtt tartva fejlesztették, de a portolása más platformra nem egy egyszerű újrafordítás, hanem a célplatformhoz meg kell írni a hangkártya kezelést és a makefile-t.
Úgy tudom hangkártyás scope program van linuxra is, szerintem inkább keress egy másik programot.
- A hozzászóláshoz be kell jelentkezni
Sokat segítettetek!
Nekem újdonság ez a wxWidgets, de most már elkezdtem tanulmányozni. Találtam bőven dokumentációt róla a neten, így most el tudok indulni valahonnan.
Az igazi nagy problémám, hogy ezt azért csinálom, mert megígértem valakinek, hogy segítek egy hangkártya jelfeldolgozó progit írni, és neki Windows-a van nekem pedig Linuxom. Ezért is lesz jó ez a progi, mert ez Windows-ra van írva, így remélhetőleg át lehet írni olyanra, ami neki kell. Szóval kicsit körülményes a dolog, de megpróbálom a nehézségek ellenére is. Hátha kisül belőle valami.
- A hozzászóláshoz be kell jelentkezni
Ha nem akarsz tul nagyokat szopni, mindenkepp egy Windows installal indits.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Szó se lehet róla! Nincs jogtiszta Windows a tulajdonomban.
- A hozzászóláshoz be kell jelentkezni
xoscope nem jó?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Megnézem ezeket is. Köszönöm!
- A hozzászóláshoz be kell jelentkezni