Página 1 de 2

alguem pode mi ajudar com o rtlink?

Enviado: 16 Set 2007 21:21
por rodrigo xavier
Pessoal estou com um problema ao compilar um programa, ele esta dando a seguinte menssagem: Fatal C3022 too many external references.

Bom, pesquisando na internet sobre esse erro descubri que ao tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.
e nesse mesmo site é diz que a solução é: Divida sua compilação em vários grupos de arquivos.

ja dividi a compilação em vários grupos de arquivos, mas agora como faço pra linkar esses arquivos .OBJ e um arquivo .EXE?

Enviado: 16 Set 2007 21:26
por marbio
Boa Noite
olha se ajuda....

menu.lnk

fi menu ,msgporoverlay prog
beginarea
section into mestre01.ovl file 1
section into mestre02.ovl file 2
section into mestre03.ovl file 3
section into mestre04.ovl file 4
section into mestre05.ovl file 5
section into mestre06.ovl file 6
section into mestre07.ovl file 7
section into mestre08.ovl file 8
endarea


rtlink @menu

Enviado: 16 Set 2007 21:50
por rodrigo xavier
marbio escreveu:Boa Noite
olha se ajuda....

menu.lnk

fi menu ,msgporoverlay prog
beginarea
section into mestre01.ovl file 1
section into mestre02.ovl file 2
section into mestre03.ovl file 3
section into mestre04.ovl file 4
section into mestre05.ovl file 5
section into mestre06.ovl file 6
section into mestre07.ovl file 7
section into mestre08.ovl file 8
endarea


rtlink @menu
não intendi amigão....desculpe é q sou iniciante

Enviado: 16 Set 2007 21:56
por marbio
Ola

vc cria um arquivo = a esse ai em baixo com o nome q vc quiser
ex:
menu.lnk

fi menu ,msgpor
overlay prog
beginarea
section into mestre01.ovl file 1
section into mestre02.ovl file 2
section into mestre03.ovl file 3
section into mestre04.ovl file 4
section into mestre05.ovl file 5
section into mestre06.ovl file 6
section into mestre07.ovl file 7
section into mestre08.ovl file 8
endarea


rtlink @menu.lnk

esses numero q sao no final seria assim 1.obj, 2.obj ( so q ali ta sem .OBJ) q vc criou..

Ha nao esqueca de copilar o primeiro arquivo com clipper MENU.PRG /m

Enviado: 16 Set 2007 22:31
por rodrigo xavier
marbio escreveu:Ola

vc cria um arquivo = a esse ai em baixo com o nome q vc quiser
ex:
menu.lnk

fi menu ,msgpor
overlay prog
beginarea
section into mestre01.ovl file 1
section into mestre02.ovl file 2
section into mestre03.ovl file 3
section into mestre04.ovl file 4
section into mestre05.ovl file 5
section into mestre06.ovl file 6
section into mestre07.ovl file 7
section into mestre08.ovl file 8
endarea


rtlink @menu.lnk

esses numero q sao no final seria assim 1.obj, 2.obj ( so q ali ta sem .OBJ) q vc criou..

Ha nao esqueca de copilar o primeiro arquivo com clipper MENU.PRG /m
Bom, intão vamos ver c intendi, no meu caso são os seguintes arquivos: CAD, que é o q eu quero q seja o .EXE
CLI, COP, FOR, GRU, MOV, NAF, PRD, SEC, TRA, VDE, VLE
Primeiro passo seria compilar o arquivo CAD.PRG /m
depois crio um arquivo qualquer .LNK e dentro desse arquivo coloco:
fi (arquivo) ,msgpor
overlay prog
beginarea
section into CLI.OBJ file 1
section into COP.OBJ file 2
section into FOR.OBJ file 3
section into GRU.OBJ file 4
section into MOV.OBJ file 5
section into NAF.OBJ file 6
section into PRD.OBJ file 7
section into SEC.OBJ file 8
section into TRA.OBJ file 9
section into VDE.OBJ file 10
section into VLE.OBJ file 11
endarea

seria assim?
e depois, como faço pra Linkar e deixar o arquivo CAD.EXE?

Enviado: 18 Set 2007 14:27
por rodrigo xavier
marbio escreveu:Ola

vc cria um arquivo = a esse ai em baixo com o nome q vc quiser
ex:
menu.lnk

fi menu ,msgpor
overlay prog
beginarea
section into mestre01.ovl file 1
section into mestre02.ovl file 2
section into mestre03.ovl file 3
section into mestre04.ovl file 4
section into mestre05.ovl file 5
section into mestre06.ovl file 6
section into mestre07.ovl file 7
section into mestre08.ovl file 8
endarea


rtlink @menu.lnk

esses numero q sao no final seria assim 1.obj, 2.obj ( so q ali ta sem .OBJ) q vc criou..

Ha nao esqueca de copilar o primeiro arquivo com clipper MENU.PRG /m
Continuo não conseguindo linkar ainda amigo..

Enviado: 18 Set 2007 15:10
por sygecom
Rodrigo, já tentou usar o Blinker ? ele é melhor que o rtlink ...se não tiver ideia e quiser testar ...podemos ver por aqui mesmo um jeito de lhe passar como uso o Blinker, alias tem varios post no forum dizendo como se usa !!!

Enviado: 18 Set 2007 16:09
por rodrigo xavier
sygecom escreveu:Rodrigo, já tentou usar o Blinker ? ele é melhor que o rtlink ...se não tiver ideia e quiser testar ...podemos ver por aqui mesmo um jeito de lhe passar como uso o Blinker, alias tem varios post no forum dizendo como se usa !!!
bom, eu nunca usei o Blinker, mas posso tentar...onde consigo baixar ele?

Enviado: 18 Set 2007 16:41
por clodoaldomonteiro
Rodrigo! Veja esse modelo.

Crie um arquivo RMAKE com o nome PROGRAMA.RMK com o seguinte conteudo:
----------------------------------------------------------------------------------------------
.PRG.OBJ:
CLIPPER $** /m
PRG1.OBJ : PRG1.PRG
PRG2.OBJ : PRG2.PRG
...
... (coloque os outros PRGs do seu sistema)
PRG1.EXE: (nome do programa de saida)
BLINKER @PROGRAMA.LNK
-------------------------------------------------------------------------------------------
- a última linha vai executar o blinker com o arquivo PROGRAMA.LNK

- crie um arquivo de linkagem com o nome PROGRAMA.LNK contendo as seguintes informações:
-------------------------------------------------------------------------------------------
BLINKER EXECUTABLE EXTEND
BLINKER EXECUTABLE COMPRESS 1
BLINKER INCREMENTAL OFF
BLINKER OVERLAY UMB ON
BLINKER OVERLAY OPSIZE 40
BLI EXE CLI //F:101 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP"

OUTPUT PRG1.EXE (nome do arquivo de saida)

BEGINAREA
FI PRG1
FI PRG2
... (informe aqui os momes dos seus PRGs.)
ENDAREA

LIB (informe aqui as LIBs externas que você usa)
-----------------------------------------------------------------------------------------

- depois é só digitar no pronpt de comando ( RMAKE PROGRAMA )

Aconselho você a usay os indicer NSX que são mais rápidos e menores que os NTX.
Se quiser o BLINKER me mande um email.

Enviado: 18 Set 2007 16:50
por clodoaldomonteiro
Rogerio!
Esqueci de te dizer:
Você pode encontrar o blinker 7 no site http://pub.buzinello.com

e as vantagens do blinker são:
- cria aplicativos protegidos de engenharia inversa.
- cria aplicativos compactados.
- pode criar demonstrações.
- já adiciona a linha SET CLIPPER=F101
e outras mais.

Enviado: 18 Set 2007 21:49
por Maligno
Você pode encontrar o blinker 7 no site http://pub.buzinello.com
Complementando: pasta xbase/clipper/compilers.

Enviado: 19 Set 2007 13:38
por rodrigo xavier
clodoaldomonteiro escreveu:Rodrigo! Veja esse modelo.

Crie um arquivo RMAKE com o nome PROGRAMA.RMK com o seguinte conteudo:
----------------------------------------------------------------------------------------------
.PRG.OBJ:
CLIPPER $** /m
PRG1.OBJ : PRG1.PRG
PRG2.OBJ : PRG2.PRG
...
... (coloque os outros PRGs do seu sistema)
PRG1.EXE: (nome do programa de saida)
BLINKER @PROGRAMA.LNK
-------------------------------------------------------------------------------------------
- a última linha vai executar o blinker com o arquivo PROGRAMA.LNK

- crie um arquivo de linkagem com o nome PROGRAMA.LNK contendo as seguintes informações:
-------------------------------------------------------------------------------------------
BLINKER EXECUTABLE EXTEND
BLINKER EXECUTABLE COMPRESS 1
BLINKER INCREMENTAL OFF
BLINKER OVERLAY UMB ON
BLINKER OVERLAY OPSIZE 40
BLI EXE CLI //F:101 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP"

OUTPUT PRG1.EXE (nome do arquivo de saida)

BEGINAREA
FI PRG1
FI PRG2
... (informe aqui os momes dos seus PRGs.)
ENDAREA

LIB (informe aqui as LIBs externas que você usa)
-----------------------------------------------------------------------------------------

- depois é só digitar no pronpt de comando ( RMAKE PROGRAMA )

Aconselho você a usay os indicer NSX que são mais rápidos e menores que os NTX.
Se quiser o BLINKER me mande um email.
Boa tarde amigo,
fiz tudo como vc disse....mas no fim quando digito RMAKE (programa) ele da a seguinte msg: 'rmake' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.
o q devo fazer?

obrigado pela atenção

Enviado: 19 Set 2007 14:30
por rodrigo xavier
clodoaldomonteiro escreveu:Rodrigo! Veja esse modelo.

Crie um arquivo RMAKE com o nome PROGRAMA.RMK com o seguinte conteudo:
----------------------------------------------------------------------------------------------
.PRG.OBJ:
CLIPPER $** /m
PRG1.OBJ : PRG1.PRG
PRG2.OBJ : PRG2.PRG
...
... (coloque os outros PRGs do seu sistema)
PRG1.EXE: (nome do programa de saida)
BLINKER @PROGRAMA.LNK
-------------------------------------------------------------------------------------------
- a última linha vai executar o blinker com o arquivo PROGRAMA.LNK

- crie um arquivo de linkagem com o nome PROGRAMA.LNK contendo as seguintes informações:
-------------------------------------------------------------------------------------------
BLINKER EXECUTABLE EXTEND
BLINKER EXECUTABLE COMPRESS 1
BLINKER INCREMENTAL OFF
BLINKER OVERLAY UMB ON
BLINKER OVERLAY OPSIZE 40
BLI EXE CLI //F:101 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP"

OUTPUT PRG1.EXE (nome do arquivo de saida)

BEGINAREA
FI PRG1
FI PRG2
... (informe aqui os momes dos seus PRGs.)
ENDAREA

LIB (informe aqui as LIBs externas que você usa)
-----------------------------------------------------------------------------------------

- depois é só digitar no pronpt de comando ( RMAKE PROGRAMA )

Aconselho você a usay os indicer NSX que são mais rápidos e menores que os NTX.
Se quiser o BLINKER me mande um email.
consegui resolver a questão do RMAKE, agora so ficou uma duvida....não intendi bem ali na parte onde coloco a LIB, poderia mi explicar melhor?
obrigado pela atenção

Enviado: 19 Set 2007 19:13
por Maligno
LIB é o comando do BLinker/RTLink pra informar o linke qual (ou quais) biblioteca ocê utiliza. Exemplo: LIBRARY CTP,OSLIB. O comando pode ser abreviado para LIB. O NG contém mais detalhes a respeito.

Enviado: 19 Set 2007 21:04
por clodoaldomonteiro
É Rodrigo, esqueci de explicar melhor e uma LIB que voce deve informar é a do blinker, para que o sistema rode em modo protegido e extendido.
Então informe assim:

LIB BLXCLP52 - essa é a lib do blinker
LIB DBFNSX - é a lib do RDD NSX, somente de vc tiver usando o índice NSX
LIB ........ outras libs que vc venha a usar no seu sistema.

Inclua as linhas das libs no final do arquivo .lnk

Qualquer dúvida, é só dizer.