|
Turbo Vision для Dev-C++, зачем-то под виндой пытается обращаться к линуксовым функциям |
|
|
|
Jan 15 2009, 13:29
|

Частый гость
 
Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613

|
Здравствуйте. Пишу программу на 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? Спасибо за внимание.
--------------------
!!! All you need is LOVE !!!
|
|
|
|
|
 |
Ответов
(1 - 9)
|
Jan 16 2009, 07:19
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(Freeze Anti @ Jan 15 2009, 15:29)  Здравствуйте. Пишу программу на 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.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Jan 16 2009, 10:29
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Freeze Anti @ Jan 15 2009, 16:29)  Здравствуйте. Пишу программу на 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'у, и вполне имеют право быть и в Винде.
|
|
|
|
|
Jan 20 2009, 07:55
|

Местами Гуру
    
Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323

|
Цитата(Freeze Anti @ Jan 19 2009, 09:22)  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) ..................
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|