Olá Pessoal,
O meu sistema em Clipper 5.3 rodo em xHarbour para Win32 também. Agora surgiu a necessidade de compilá-lo para Linux.
Estou com uma série de problemas.
O sistema não consegue encontrar um arquivo de licença (um arquivo texto) que está na mesma pasta do executável.
Outra dúvida é com relação às execuções da compilação. Em várias partes do sistema, o código se refere a pastas com a barra invertida "\". Gostaria de saber se a compilação para Linux troca por barra normal "/".
Tem outra coisa acontecendo. No caso do arquivo de impressoras o sistema está procurando em uma pasta chamada "root\Documents", sendo que deveria buscar na pasta onde fica o executável.
Desde já agradeço-lhes imensamente!! Estou com a maior urgência em resolver esses problemas.
um abraço,
Graciela
xHarbour para Linux
Moderador: Moderadores
-
gracielaboschetti
- Usuário Nível 1

- Mensagens: 2
- Registrado em: 02 Out 2013 15:17
- Localização: Belo Horizonte
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
xHarbour para Linux
Olá!
Seja muito bem-vinda ao Fórum Graciela.
Atualmente não trabalho com Linux ou Unix mas, talvez possa contribuir com alguma coisa: No prompt de comando do Unix/Linux digite hbmake NomeScript.bc. Para executar, digite NomePrograma.xhb. O mesmo vale para os separadores de linhas em arquivos texto:
Boa sorte e continue postando.
Seja muito bem-vinda ao Fórum Graciela.
Atualmente não trabalho com Linux ou Unix mas, talvez possa contribuir com alguma coisa:
Você não relata problemas na compilação e geração do executável mas, em todo caso, segue um exemplo de script de compilação para Unix/Linux (GCC)gracielaboschetti escreveu:O meu sistema em Clipper 5.3 rodo em xHarbour para Win32 também. Agora surgiu a necessidade de compilá-lo para Linux.
Código: Selecionar todos
#GCC
!ifndef CC_DIR
CC_DIR = $(MAKE_DIR)
!endif
!ifndef HB_DIR
HB_DIR = $(HARBOUR_DIR)
!endif
RECURSE= NO
SHELL =
COMPRESS = NO
EXTERNALLIB = NO
XFWH = NO
FILESTOADD = 5
WARNINGLEVEL = 0
USERDEFINE =
USERINCLUDE =
USERLIBS =
EDITOR = mcedit
GUI = NO
MT = NO
PROJECT = tirateima.xhb $(PR)
OBJFILES = $(OB)
PRGFILES = $(PS)
OBJCFILES = $(OBC)
CFILES = $(CF)
RESFILES =
RESDEPEN =
TOPMODULE =
LIBFILES = -Wl,--start-group -lvm -lrtl -lpcrepos -lgtcrs -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -ldbffpt -lhsx -lhbsix -lcommon -lcodepage -lgtnul -Wl,--end-group -lncurses -lslang -lgpm -lpthread -lm
EXTLIBFILES =
DEFFILE =
HARBOURFLAGS = -w0
CFLAG1 = $(SHELL) -I/usr/include/xharbour -c -Wall
CFLAG2 = -L$(HB_LIB_INSTALL)
RFLAGS =
LFLAGS = $(CFLAG2)
IFLAGS =
LINKER = gcc
ALLOBJ = $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(USERLIBS) $(LIBFILES)
.autodepend
#DEPENDS
#COMMANDS
.cpp.o:
gcc $(CFLAG1) $(CFLAG2) -o$* $**
.c.o:
gcc -I/usr/include/xharbour $(CFLAG1) $(CFLAG2) -I. -g -o$* $**
.prg.o:
harbour -D__EXPORT__ -n -go -I/usr/include/xharbour $(HARBOURFLAGS) -I. -o$* $**
#BUILD
$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(LINKER) @&&!
$(PROJECT)
$(ALLOBJ)
$(LFLAGS)
$(ALLLIB)
!Não seria algum problema de permissão de acesso na pasta? Emita o comando abaixo para dar permissão total na pasta do teu sistema e subpastas e arquivos:gracielaboschetti escreveu:O sistema não consegue encontrar um arquivo de licença (um arquivo texto) que está na mesma pasta do executável.
Código: Selecionar todos
chmod -R 777 SuaPastaNão, você precisará fazer isso nos programas já existentes. Fica mais fácil usando o recurso "Find and Replace" de um bom editor de textos. Em programas novos, para tornar transparente esta diferença de separador existente entre as plataformas, tanto o Harbour quanto o xHarbour contam com uma função que retorna o separador padrão do sistema:gracielaboschetti escreveu:Gostaria de saber se a compilação para Linux troca por barra normal "/".
Código: Selecionar todos
LOCAL cDelim := HB_OsPathSeparator()Código: Selecionar todos
cLineSep := HB_OSNewLine() // Retorna Chr(10) em Unix/Linux ou Chr(13) + Chr(10) no DOS/WindowsNeste caso não sei o que pode ser mas, provavelmente alguma configuração incorreta. Verifique e/ou pesquise maisgracielaboschetti escreveu:No caso do arquivo de impressoras o...
Boa sorte e continue postando.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
xHarbour para Linux
Olá!
É com essa barra ao contrário mesmo? Não seria ./?
É com essa barra ao contrário mesmo? Não seria ./?
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)