Portál AbcLinuxu, 18. listopadu 2025 23:23
Co třeba Turbo Vision? tvision.sourceforge.net/ ale nevím jak je na tom, já jsem TV použil naposled pod DOSem.
Díky za tip, TVision je asi přesně to, co jsem měl na mysli.
Mám ale problém - nejde mi zkompilovat (jakože samotné knihovny) - zkoušel jsem odkazovanou GPL verzi i BSD fork ze stránek Sergio Sigaly.
Odhaduji, že mi pro kompilaci chybí nějaké další knihovny, ale nedaří se mi dohledat, jaké to vlastně jsou.
Tady jsou výpisy z kompilace (v obou případech samozřejmě nejdřív spouštím ./configure, které proběhne úspěšně):
GPL rhtvision 2.0.3 (verze pro Linux):
$ make
make -C makes -f librhtv.mkf
make[1]: Entering directory `/home/eregon/prac/tvision/tvision/makes'
g++ -I../include -O2 -pipe -c ../compat/iffilelen.cc -o ../makes/obj/iffilelen.o
In file included from /usr/include/c++/4.2/bits/locale_facets.h:4599,
from /usr/include/c++/4.2/bits/basic_ios.h:44,
from /usr/include/c++/4.2/ios:50,
from /usr/include/c++/4.2/istream:44,
from /usr/include/c++/4.2/fstream:45,
from ../include/compatlayer.h:2054,
from ../compat/iffilelen.cc:12:
/usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h: In member function ‘typename std::messages<_CharT>::catalog std::messages<_CharT>::open(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::locale&, const char*) const’:
/usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h:69: error: there are no arguments to ‘bindtextdomain’ that depend on a template parameter, so a declaration of ‘bindtextdomain’ must be available
/usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h:69: error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h: In member function ‘virtual typename std::messages<_CharT>::catalog std::messages<_CharT>::do_open(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::locale&) const’:
/usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h:89: error: there are no arguments to ‘textdomain’ that depend on a template parameter, so a declaration of ‘textdomain’ must be available
make[1]: *** [../makes/obj/iffilelen.o] Error 1
make[1]: Leaving directory `/home/eregon/prac/tvision/tvision/makes'
make: *** [static-lib] Error 2
$ make
cd . \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
/bin/sh ./config.status
config.status: creating config.h
config.status: config.h is unchanged
make all-recursive
make[1]: Entering directory `/home/eregon/prac/tvision/tvision-0.8'
Making all in doc
make[2]: Entering directory `/home/eregon/prac/tvision/tvision-0.8/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/eregon/prac/tvision/tvision-0.8/doc'
Making all in lib
make[2]: Entering directory `/home/eregon/prac/tvision/tvision-0.8/lib'
source='TApplication.cc' object='TApplication.o' libtool=no \
depfile='.deps/TApplication.Po' tmpdepfile='.deps/TApplication.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -O2 -c -o TApplication.o `test -f TApplication.cc || echo './'`TApplication.cc
In file included from /usr/include/c++/4.2/backward/iostream.h:31,
from ./tvision/tobjstrm.h:416,
from ./tvision/tv.h:635,
from TApplication.cc:20:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
In file included from ./tvision/tv.h:635,
from TApplication.cc:20:
./tvision/tobjstrm.h:289: error: a class-key must be used when declaring a friend
./tvision/tobjstrm.h:289: error: friend declaration does not name a class or function
./tvision/tobjstrm.h:344: error: a class-key must be used when declaring a friend
./tvision/tobjstrm.h:344: error: friend declaration does not name a class or function
./tvision/tobjstrm.h:378: error: a class-key must be used when declaring a friend
./tvision/tobjstrm.h:378: error: friend declaration does not name a class or function
In file included from ./tvision/tobjstrm.h:416,
from ./tvision/tv.h:635,
from TApplication.cc:20:
/usr/include/c++/4.2/backward/iostream.h:38: error: ‘streambuf’ is already declared in this scope
In file included from ./tvision/tv.h:635,
from TApplication.cc:20:
./tvision/tobjstrm.h:426: error: a class-key must be used when declaring a friend
./tvision/tobjstrm.h:426: error: friend declaration does not name a class or function
./tvision/tobjstrm.h:589: error: ‘streampos’ does not name a type
./tvision/tobjstrm.h:594: error: expected ‘;’ before ‘(’ token
./tvision/tobjstrm.h:607: error: expected ‘;’ before ‘(’ token
./tvision/tobjstrm.h:766: error: ‘streampos’ does not name a type
./tvision/tobjstrm.h:771: error: expected ‘;’ before ‘(’ token
./tvision/tobjstrm.h:784: error: expected ‘;’ before ‘(’ token
make[2]: *** [TApplication.o] Error 1
make[2]: Leaving directory `/home/eregon/prac/tvision/tvision-0.8/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/eregon/prac/tvision/tvision-0.8'
make: *** [all] Error 2
-lmenu -lform -lpanel je tam i zmíňka o CDK (Curses Development Kit).
whiptail nebo newt.
ale neobsahuje žádné widgety, což je to, co já hledámTím samozřejmě myslím to, že já hledám ty widgety, ne knihovnu o úroveň níž.
Ahoj,
Tak jsem to zkusil (svn snapshot od rthvision - rhtvision-2.1.0.src.tar.gz) - kompilace v pohode, priklady chodi.
Postup:
$ ./configure --prefix=/home/chocholj/usr
Configuring Turbo Vision v2.1.0 library
Determining OS: UNIX [Linux]
Looking for a working gcc: gcc OK
C flags: -O2 -pipe -Wno-packed
C++ flags: -O2 -pipe -Wno-packed
Looking for the C++ compiler: g++
Checking Architecture: x86
Looking for pointer size: 32 bits
Looking for prefix: /home/chocholj/usr (cached/specified)
Checking if this system follows the FHS: no
Looking for GNU make: make
Looking for GNU ar: ar
Looking for install tool: install
Looking for xgettext: 0.17
Looking for gpm library: 1.20.1 OK
Looking for ncurses library: 5.5 OK
Checking if ncurses have define_key: yes
Looking for X keysyms definitions: yes OK
Looking for X11 libs: yes OK (X11 rev 0)
Looking for outb definition in sys/io.h: yes
Checking for international support: yes OK
Checking endianess: little endian
Generating Makefile
Configuring makefiles: intl/dummy/Makefile
Configuring RHIDE: makes/rhide.env compat/rhide.env
Configuring RHIDE: examples/rhide.env
Generating configuration header: no changes
Extracting from makes/librhtv.imk: processing
Extracting from compat/compat.imk: processing
Processing winnt/bccmake.in => winnt/Makefile
Processing winnt/msvcmake.in => winnt/Makefile.nmk
Makefiles for examples.
Makefiles for translations.
Processing intl/gnumake.in => intl/Makefile
Processing redhat/librhtv.spec.in => redhat/librhtv-2.1.0.spec
Processing qnxrtp/tvision.qpg.in => qnxrtp/tvision.qpg
$ make -j 3
make -C makes -f librhtv.mkf
gcc -o rhtv-config -Iinclude rhtv-config.c
make -C intl/dummy
make[1]: Entering directory `/home/chocholj/src/tvision/makes'
gcc -I../include -I/usr/X11R6/include -O2 -pipe -Wno-packed -c ../compat/beep.c -o ../makes/obj/beep.o
make[1]: Entering directory `/home/chocholj/src/tvision/intl/dummy'
gcc -c -o intldummy.o intldummy.c
ar -rv libtvfintl.a intldummy.o
ar: creating libtvfintl.a
a - intldummy.o
make[1]: Leaving directory `/home/chocholj/src/tvision/intl/dummy'
cp intl/dummy/libtvfintl.a makes
make -C intl
make[1]: Entering directory `/home/chocholj/src/tvision/intl'
msgfmt -o es.mo es.po
msgfmt -o ru.mo ru.po
gcc -I../include -I/usr/X11R6/include -O2 -pipe -Wno-packed -c ../compat/drivevalid.c -o ../makes/obj/drivevalid.o
msgfmt -o pl.mo pl.po
make[1]: Leaving directory `/home/chocholj/src/tvision/intl'
make DYNAMIC_LIB=1 -C makes -f librhtv.mkf
make[1]: Entering directory `/home/chocholj/src/tvision/makes'
gcc -I../include -I/usr/X11R6/include -fPIC -O2 -pipe -Wno-packed -c ../compat/beep.c -o ../makes/obj/beep.lo
....
System je Centos 5.2, gcc 4.1.2
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.