Форум » [x]Harbour » Как скомпилировать клипперовскую программу? » Ответить

Как скомпилировать клипперовскую программу?

vibos: Люди добрые, помогите пжлста! Есть программа написанная на клиппере предположи 1.prg. Она использует данные находящиеся в 1.obj и 2.obj. Какие команды мне необходимо использовать, чтобы правильно ее скомпилировать при помощи MiniGUI. Что написать в ВАТ файле? уже совсем запутался я с этим компилятором. В клиппере использовался BAT-файл с такими строчками: c:\CL\clipper %1 c:\CL\rtlink file %1 library c:\CL\clipper,c:\CL\extend,c:\CL\terminal,c:\CL\dbfntx,c:\cl\1.obj,c:\cl\2.obj,c:\cl\ct.lib Заранее спасибо!

Ответов - 30, стр: 1 2 All

PSP: А в чем проблема? EXE-шник не получается? Как Вы запускаете bat файл?

vibos: Дело в том, что я решил попробывать скомпилировать ее из-под MiniGUI. Пишу в BAT-файле строчку (ее я взял из примера): call C:\MiniGUI\BATCH\compile.bat 1 %1 %2 %3 %4 %5 %6 %7 %8 %9 после запуска компилятор мне сообщает, что не может найти ppi_wag.prg. Данный файл находится в 1.obj. Вот я и не могу понять как мне "объяснить" компилятору откуда его нужно брать? Какой командой это делается?

PSP: А почему компилятор ищет ppi_wag.prg? Вы явно указываете этот файл компилятору или есть ссылка в prg-коде?


vibos: есть ссылка в prg-коде

PSP: vibos пишет: есть ссылка в prg-коде А самого файла нет, так? Вы говорите, что все функции из ppi_wag.prg есть в 1.obj, так? Тогда ссылку на ppi_wag.prg в программе закоментируйте, а 1.obj просто прилинкуйте к проекту. Compile.bat имеет опцию /B для таких целей.

vibos: Если я правильно понял, то строчка должна выглядеть так?: call C:\MiniGUI\BATCH\compile.bat 1 /b 1 %1 %2 %3 %4 %5 %6 %7 %8 %9

PSP: У Вас получится, что 1.prg скомпилируется в 1.obj, затерев старый 1.obj с нужными функциями. Разберитесь, какие файлы должны участвовать в проекте.

vibos: Ладно. Переименовал файлы. Пишу свои подробные действия. Файл программы называется SRAP2.PRG. Файл в котором находятся множество подпрограмм (в том числе и ppi_wag) называется BIBM.OBJ. Исполняемый файл COMPILE_01.BAT, его содержимое: call C:\MiniGUI\BATCH\compile.bat SRAP2 /b BIBM %1 %2 %3 %4 %5 %6 %7 %8 %9 При его (исполняемого файла) запуске выдается ошибка: SRAP2.PRG(1) Error E0001 Statement not allowed outside of procedure or function Cannot open ppi_wag.prg, assumed external 1 error No code generated. Compile error. В тексет SRAP2.PRG есть строчка которая использует подпрограмму ppi_wag (из BIBM.obj): ... do ppi_wag with kodd,5,sk ... Судя по данной ошибке мой BIBM.obj никак не воспринялся компилятором. Может подскажете, что я делаю не так?

Петр: Если BIBM.OBJ есть 16 битный обьектный модуль созданный Clipper, то прилинковать ее к 32 разрядной Harbour программе у вас не получится.

vibos: спасибо за ответы. А какие тогда есть варианты решения?

vibos: впринципе можно найти BIBM.PRG. А как из него сделать 32-разрадный модуль? Извините за элементарные вопросы, но только начинаю осваивать этот продукт.

PSP: Укажите его в параметрах compile.bat вместе с SRAP2.

vibos: Должна быть такая строчка?: call C:\MiniGUI\BATCH\compile.bat SRAP2 BIBM %1 %2 %3 %4 %5 %6 %7 %8 %9 или нужно какие-то ключи добавить?

PSP: Поправлюсь: все-таки правильнее, наверное, в конец файла SRAP2.prg добавить строчку: #include "BIMB.prg" и запускать compile.bat SRAP Должно хватить... :)

vibos: спасибо. вроде сработало. но все же интересно как мне сделать библиотеку из PRG файла.

PSP: vibos пишет: как мне сделать библиотеку из PRG файла. Хотите LIB что ли?

vibos: но exe файл все-равно не создается. выдается ошибка: SRAP2.PRG(1) Error E0001 Statement not allowed outside of procedure or function

Pasha: vibos пишет: как мне сделать библиотеку из PRG файла не просто, а очень просто вот батник: @if not exist %1.prg exit set HB_INSTALL=\xharbour %HB_INSTALL%\bin\harbour %1 /B /N /M /W /I%HB_INSTALL%\include\ >>_2 @if errorlevel 1 exit d:\bcc55\bin\bcc32 -M -c -O2 -Id:\bcc55\include;%HB_INSTALL%\include %1.c @if errorlevel 1 exit d:\bcc55\bin\tlib mylib /C +-%1 @del %1.c @del %1.obj

vibos: PSP пишет: Хотите LIB что ли? ну да.

Pasha: vibos пишет: но exe файл все-равно не создается. выдается ошибка: SRAP2.PRG(1) Error E0001 Statement not allowed outside of procedure or function надо убрать опцию /n для компилятора harbour



полная версия страницы