Перейти к содержанию
    

Turbo Vision для Dev-C++

Здравствуйте.

 

Пишу программу на C++. Интерфейс у нее должен быть консольный. Я решил использовать в своих разработках библиотеку Turbo Vision. (кому интересно - вот адрес) .

 

В общем, она не хочет компилировать даже свои собственные примеры. Когда я прописываю строчку, к примеру

fpstream *Strm = new fpstream(fileName, CLY_IOSIn);

она мне выдает кучу линкер ерроров

[Linker error] undefined reference to `std::__basic_file<char>::sys_open(int, std::_Ios_Openmode, bool)'

[Linker error] undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::seekoff(long, std::_Ios_Seekdir, std::_Ios_Openmode)'

[Linker error] undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::uflow()'

В связи в этим несколько вопросов. Зачем он в винде ищет sys_open() и подобные вещи? Как объяснить этой библиотеке, что у нас Win32 и попросту не может быть подобных функций? (ну или как ему их подсунуть?) В гугле меня, видимо, забанили, ибо ничего путного не выдает. Из документации нашел только мануал по старому борландовскому турбо вижн, работа с которым в целом практически идентична работе с этой библиотекой.

 

Если слишком сложно, то подскажите, как еще можно сделать TUI под вин, чтоб ее потом без особых проблем перенести на lin?

 

Спасибо за внимание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

 

Пишу программу на C++. Интерфейс у нее должен быть консольный. Я решил использовать в своих разработках библиотеку Turbo Vision. (кому интересно - вот адрес) .

 

В общем, она не хочет компилировать даже свои собственные примеры. Когда я прописываю строчку, к примеру

fpstream *Strm = new fpstream(fileName, CLY_IOSIn);

она мне выдает кучу линкер ерроров

 

В связи в этим несколько вопросов. Зачем он в винде ищет sys_open() и подобные вещи? Как объяснить этой библиотеке, что у нас Win32 и попросту не может быть подобных функций? (ну или как ему их подсунуть?) В гугле меня, видимо, забанили, ибо ничего путного не выдает. Из документации нашел только мануал по старому борландовскому турбо вижн, работа с которым в целом практически идентична работе с этой библиотекой.

 

Если слишком сложно, то подскажите, как еще можно сделать TUI под вин, чтоб ее потом без особых проблем перенести на lin?

 

Спасибо за внимание.

Этот TV не пробовал, но типа наводящие вопросы.

Вот тут http://tvision.sourceforge.net/ написано в частности

For Win32 you can use BC++ 5.5, Cygwin, MinGW or MSVC.

Вы чем компилируете? GCC? Тогда у Вас нехватает девелопмент пакетов от cygwin/mingw.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем - установил пакеты binutils, gcc-core, gcc-g++, GNU Debugger, GNU Make, MinGW runtime, Windows32 API. Толку нет. Подключал всякие библиотеки (в смысле - .a и .lib). Пока с мертвой точки не сдвинулся. Все так же на эту строчку выдает undefined reference. Может, какие не те библиотеки подключаю? если есть кто знающий - ответьте пожалуйса. А может, кто-то уже разрабатывал TUI и сможет мне посоветовать какую другую библиотеку для этого действа?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

 

Пишу программу на C++. Интерфейс у нее должен быть консольный. Я решил использовать в своих разработках библиотеку Turbo Vision. (кому интересно - вот адрес) .

 

В общем, она не хочет компилировать даже свои собственные примеры. Когда я прописываю строчку, к примеру

fpstream *Strm = new fpstream(fileName, CLY_IOSIn);

она мне выдает кучу линкер ерроров

 

[Linker error] undefined reference to `std::__basic_file<char>::sys_open(int, std::_Ios_Openmode, bool)'

[Linker error] undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::seekoff(long, std::_Ios_Seekdir, std::_Ios_Openmode)'

[Linker error] undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::uflow()'

 

В связи в этим несколько вопросов. Зачем он в винде ищет sys_open() и подобные вещи? Как объяснить этой библиотеке, что у нас Win32 и попросту не может быть подобных функций? (ну или как ему их подсунуть?)

У вас как то подцепились stream функции из стандартной библиотеки C++. Они не относятся к Linux'у, и вполне имеют право быть и в Винде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где их искать? Раз они стандартные, значит - в каком-то хедере должны быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

libstdc++ и libsupc++ не помогают. Все осталось, как и было. Может, кто знает другую библиотеку для создания tui?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

libstdc++ и libsupc++ не помогают. Все осталось, как и было. Может, кто знает другую библиотеку для создания tui?

 

Если осталось как было - значит либы не подключены :

..................

[Dao]:rus:~ # nm -C /usr/lib/libstdc++.a |grep sys_op

5127:00000000 T std::__basic_file<char>::sys_open(_IO_FILE*, std::_Ios_Openmode)

5128:00000000 T std::__basic_file<char>::sys_open(int, std::_Ios_Openmode)

..................

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо за совет про ncurses. сделал проект на pdcurses (я так понял, они похожи). только одна проблема. программа не хочет воспринимать некоторые символы кириллицы, набранные с клавиатуры (например "а" и "Ф"). кто-нибудь знает, как с этим бороться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...