Usean mutkan ja ongleman kautta sain vissii asennettua PDCurses 2.6 kirjaston käytettäväksi Visual C++ 6.0:aan. Nyt kun kokeilin ncurses-oppaan mukaista esimerkkiä niin se ei herjaa kääntämisessä mutta huutaa hoosiannaa linkittämisessä. Missä mahtaisi olla vika? Tälläisi ilmoituksia tulee:
unresolved external symbol _wgetch LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/Advanced Programming.exe : fatal error LNK1120: 10 unresolved externals
veikkaisin että se halua jonkun vipun linkittääkseen pdcursesia?
Jep, linkkerin virhehän tuo on. Sinun on linkitettävä libpdcurses.lib tms. kirjasto mukaan.
Jaa, mitenköhhän se sitten onnistuu?
En ole itse ko. kirjastoa käyttänyt eikä ole VC:tä koneella, mutta katsoppa pakettia, jonka latasit kun PDCursesia asentelit. Siinä luultavasti on jokin README-tiedosto, jossa homma neuvotaan.
lainaus:
Win95/NT
--------
. cd to the WIN32 directory in the directory in which PDCurses was
unpacked.
. You will find a number of .mak files in this directory, one for
each supported compiler. These following lists the make file
and compiler:gccwin32.mak - Cygnus GNU Compiler
bccwin32.mak - Borland C++ 4.0.2+
vcwin32.mak - Visual C++ 2.0+
wccwin32.mak - Watcom 10.6. Create a directory somewhere in which you want the object, library
and demo executables to be built.
. cd to that directory.
. Copy the appropriate makefile to this directory.
. Edit this makefile, and make a few changes to paths that point to
the location of the PDCurses code and your compiler. The lines
you need to change are:PDCURSES_HOME=
CC_HOME=. Make the required targets using the options specified at the top
of the makefile.. Thats it!
Tuollaisen pätkän löysin mutta ei ymmärrä mitä siinä haetaan. Tuo vcwin32.mak pitää kopioida jonnekkin ja muuttaa siitä PDCURSES_HOME ja CC_HOME kohdat. Hauskaksi asian tekee se että siinä ei ole CC_HOME kohtaa ollenkaaan. Ja pitäisikö tuohon tiedostoon viitata jostain? Jos sen lopioi vaan jonnekkin niin tuskin pelittää oikein.
Sitten tuon vcwin32.mak alussa on tälläinen kohta:
lainaus:
# Visual C++ NMakefile for PDCurses library - Win32 VC++ 2.0+
#
# Usage: nmake -f [path\]vcwin32.mak [DEBUG=] [target]
#
# where target can be any of:
# [all|demos|pdcurses.lib|panel.lib|testcurs.exe...]
Mikä käsky tuo nmake on oikein ja mitä se tekee?
Aihe on jo aika vanha, joten et voi enää vastata siihen.