Yritin perehtyä Windows ohjelmoinnin alkeisiin joitain vuosia sitten, kunnes koko asia unohtui. Nyt olisi tarkoitus yrittää päästä näpertelemään jotain pientä ihan omaksi ilokseni.
Käytin joskus Borland Free compiler 5.5 , se on kuitenkin about 20 vuotta vanha. Testasin tuota uudempaa Embarcaderon Free compiler 7.2 mutta sen kanssa tuli odottamattomia ongelmia.
Sitten aloin testata MingW. Asensin Codeblocksin ja käänsin sen kanssa muutaman vanhan kokeiluni, hyvin toimi. Mutta en pidä siitä editorista.
Käänsin joskus kätevästi tuolla Borlandilla niin että samassa hakemistossa oli:
bcc32.cfg :
-I"d:\Test\bcc55\include;d:\Test\testi1" -L"d:\Test\bcc55\lib;d:\Test\bcc55\lib\psdk"
ilink32.cfg :
-L"d:\Test\Bcc55\lib;d:\Test\bcc55\lib\psdk"
Sitten käytin oheista makefileä:
NAME=main GUISTARTUP=c0w32.obj LIBS=import32.lib cw32.lib comctl32.lib CFLAGS=-O1 -c -tW -w-aus LFLAGS=-Tpe -aa -w-rty # the first rule will be made by default all: $(NAME).exe $(NAME).obj: $(NAME).cpp d:\Test\bcc55\bin\bcc32 $(CFLAGS) $(NAME).cpp resource.res: resource.rc d:\Test\bcc55\bin\brcc32 resource.rc $(NAME).exe: $(NAME).obj resource.res d:\Test\bcc55\bin\ilink32 $(LFLAGS) $(GUISTARTUP) $(NAME).obj,$(NAME).exe,,$(LIBS),,resource.res
Se siis ottaa myös resurssitiedoston yms.
Tämä toimi hyvin aikoinaan.
Nyt pitkän esittelyn jälkeen kysynkin, olisiko jollain laittaa vastaavaa esimerkkiä jota voisin käyttää MINGW:n kanssa?
Olen jotain kokeillut mutta huonolla menestyksellä, ja ne vähätkin taidot ovat ruosteessa vuosien tauon jälkeen.
Kiitos etukäteen.
Pääsisitkö vaikka tästä alkuun:
CXXFLAGS := -std=c++20 -Wall -pedantic -O2 CXX := g++ WINDRES := windres FILES_H := $(wildcard *.h *.hpp) FILES_CPP := $(wildcard *.cpp) FILES_RC := $(wildcard *.rc) FILES_O := $(patsubst %,BUILD-%.o,$(FILES_CPP) $(FILES_RC)) ohjelma.exe: $(FILES_O) $(CXX) $(CXXFLAGS) $^ -o $@ BUILD-%.cpp.o: %.cpp $(FILES_H) $(CXX) $(CXXFLAGS) $< -c -o $@ BUILD-%.rc.o: %.rc $(WINDRES) $< $@
Tarvitsetko oikeasti resurssitiedostoja? Jos et, voisit kääntää yksinkertaisesti C++-tiedostosi suoraan g++:lla.
g++ *.cpp -Wall -pedantic -std=c++20 -O2 -o ohjelma.exe
Ohjelmien ajaminen komentoriviltä, polkujen määrittely ym. on toivottavasti jo tuttua, sehän on Windowsissa kohtalaisen rasittavaa. Yleensä oikein asennetussa MinGW:ssä kai riittää, kun kutsuu oikeaa make-ohjelmaa tai lisää bin-kansion PATHiin.
Kokeilin kääntää esimerkin jossa oli ikkuna + yksinkertainen menu resurssitiedostoineen.
Ja.... Se toimi loistavasti.
Kiitos !
Tällä pääsenkin mukavasti eteenpäin ja voin unohtaa sen 20v vanhan Borlandin. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.