Автор | Сообщение |
|
| постоянный участник
|
Пост N: 316
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.08.07 21:54. Заголовок: Как переделать прогу под Linux
Всем привет, а админам особо. Предлагаю открыть отдельую рубрику "переход под Linux" В связи с гонениями за ворованный Виндовс нужно переползать под Linux. Пытался запустить терминалку xHarbour'a под эмулятором на Ubuntu Linux и на Linux-XP и 2-облома: 1) кракозябы заместо букв (866-кодировка в терминале) 2) не может открыть файлы, т.к. заместо путей типа c:\nMyProg\ - там другой "слеш" ?/Home/..... Кто делал что-то под Linux'om - поделитесь опытом. А то и не знаешь с чего начать, Крестин вообще не отвечает.
|
|
|
Ответов - 9
[только новые]
|
|
|
| Администратор
|
Пост N: 581
Зарегистрирован: 23.05.05
|
|
Отправлено: 08.08.07 15:59. Заголовок: Re:
Я в прошлом году собирал свои программы под Линукс, но ввиду отсутсвия спроса на них дальше тестовой сборки дело не пошло 1. #ifdef __HARBOUR__ REQUEST HB_CODEPAGE_RU866 REQUEST HB_LANG_RU866 #ifndef __PLATFORM__Windows REQUEST HB_CODEPAGE_RU1251 REQUEST HB_CODEPAGE_RUKOI8 #endif #endif #ifndef __PLATFORM__Windows hb_SetTermCP( 'RU1251', 'RU866', .t. ) или hb_SetTermCP( 'RUKOI8', 'RU866', .t. ) в зависимости от того, на какую кодовую страницу настроен терминал #endif 2. Надо определить макрос #ifndef __HARBOUR__ #define __PATH_DELIM__ '\' #else #ifdef __PLATFORM__Windows #define __PATH_DELIM__ '\' #else #define __PATH_DELIM__ '/' #endif #endif и в программах вместо слеша использовать его в именах каталогов
|
|
|
|
| Администратор
|
Пост N: 582
Зарегистрирован: 23.05.05
|
|
Отправлено: 08.08.07 16:20. Заголовок: Re:
уточняю - делал native linux без всяких эмуляторов скачал готовый xHb-linux и собирал свои программы под него
|
|
|
|
| постоянный участник
|
Пост N: 318
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.08.07 20:45. Заголовок: Re:
Pasha пишет: цитата: | уточняю - делал native linux без всяких эмуляторов скачал готовый xHb-linux и собирал свои программы под него |
| А какой xHb-linux, т.е. под какую систему ? И как собирать ? У меня в терминале используется 866 кодовая страница. А в Linux'e его нет и как добавить не знаю.
|
|
|
|
| Администратор
|
Пост N: 583
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.08.07 09:40. Заголовок: Re:
Версий линукса очень много, выбирай сам какой ставить Я ставил ASP Linux - RedHat compatible Далее скачиваешь с xharbour.org бинарники в виде rpm для соответствующей версии - сам харбор, contrib - всего 3 пакета, уже точно не помню какие Устанавливаешь их: rpm -i <пакет> Затем собираешь свой софт Для сборки простого теста нужен батник: bld.sh #!/bin/sh INC_DIR="-I../include:/usr/include" MY_EXE=$1 shift MY_FILES="$*" MY_LIBS="-L./ -L/usr/lib -lgd -lpng -lz -ljpeg -lfreetype -lm -lct" MY_GTLIB="-gtcrs" if [ -z ${MY_FILES} ]; then MY_FILES=${MY_EXE}; fi echo "Exe = ${MY_EXE}, Files = ${MY_FILES}" echo "xhbcmp -n -w -es2 -go ${INC_DIR} ${MY_FILES}" xhbcmp -n -w -es2 -go -I${INC_DIR} ${MY_FILES} xhbcmp -n -w -es2 -go -I${INC_DIR} screen3.prg echo "xhblnk ${MY_GTLIB} *.o ${MY_LIBS} -o${MY_EXE}" xhblnk ${MY_GTLIB} *.o libserv.a ${MY_LIBS} -o${MY_EXE} >_err rm -f *.o Обрати внимание, что используется терминал gtcrs Пока все, попробуй собрать хотя бы "Hello, world" Andrey пишет: цитата: | У меня в терминале используется 866 кодовая страница. А в Linux'e его нет и как добавить не знаю |
| Для этого как раз и нужна команда: hb_SetTermCP( 'RUKOI8', 'RU866', .t. )
|
|
|
|
| Администратор
|
Пост N: 586
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.08.07 10:20. Заголовок: Re:
Я исчезну из эфира на пару недель
|
|
|
|
| |
Пост N: 38
Зарегистрирован: 15.11.05
|
|
Отправлено: 15.08.07 08:06. Заголовок: Re:
На HARBOUR-е не пробовал. >Пытался запустить терминалку xHarbour'a под эмулятором на Ubuntu Linux и на Linux-XP и 2-облома: >1) кракозябы заместо букв (866-кодировка в терминале) >2) не может открыть файлы, т.к. заместо путей типа c:\nMyProg\ - там другой "слеш" ?/Home/..... А вот на Clip (www.itk.ru) все работает (50 текстовых терминалов) - и 866 кодировка и расширенная клава, и "слеш" переделывать не нужно и буквы дисков работают... >Кто делал что-то под Linux'om - поделитесь опытом. >А то и не знаешь с чего начать, Крестин вообще не отвечает. Так что для Кпипа помогу...
|
|
|
|
| постоянный участник
|
Пост N: 320
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.08.07 11:26. Заголовок: Re:
Спасибо большое за помощь, но от Клипера уже ушел. На хХарборе надежней будет, несмотря на некоторую "тормознутость". А пересобрать под Linux тоже интересно. А что за версию Linux - используете ?
|
|
|
|
| |
Пост N: 39
Зарегистрирован: 15.11.05
|
|
Отправлено: 16.08.07 12:01. Заголовок: Re:
Andrey пишет: цитата: | Спасибо большое за помощь, но от Клипера уже ушел. |
| Это не Клиппер, а Клип. Это другая ветка, отличная от Хабора. Со своими плюсами и минусами. цитата: | На хХарборе надежней будет, несмотря на некоторую "тормознутость". |
| На Кпипе очень надежно, если задачу запусить под терминалы (что у меня и работает). Хотя терминал текстовый, скорости обработки большие. цитата: | А пересобрать под Linux тоже интересно. |
| Клип ориентирован в основном под *nux, в Винде под CigWin. А для пересбоки, нужно поставить Клип, сделать Маке, что-то подправить... цитата: | А что за версию Linux - используете ? |
| Дебиан. Хотя это не принципиально.
|
|
|
|
| постоянный участник
|
Пост N: 218
Зарегистрирован: 09.10.06
|
|
Отправлено: 07.09.07 17:35. Заголовок: Re:
lista пишет: цитата: | А вот на Clip (www.itk.ru) все работает (50 текстовых терминалов) - и 866 кодировка и расширенная клава, и "слеш" переделывать не нужно и буквы дисков работают... |
| Для [x]Harbour "слеш" переделывать вовсе не обязательно. SET DIRSEPARATOR "\" SET DIRSEPARATOR "/" еще для портирования предусмотрены SET DIRCASE, SET FILECASE Жесткое задание путей доступа типа c:\nMyProg\, что в Windows, что в Linux - IMHO bad idea. Путь должен быть или относительный или SET MY_PATH = c:\nMyProg .. cFileName = GetEnv("MY_PATH") + "\file.name" В Linux создать переменную окружения, насколько я знаю, тоже не проблема.
|
|
|
|