Along with other components, Lycia Development Suite comprises different command line tools.
On Windows, the Lycia command line environment is invoked by executing environ.bat in the command line
On Unix, prior to start working with the command line tool, the corresponding environment must be set. This can be done as follows:
cd <directory where Lycia is installed>
. ./environ
Lycia allows several types of the command line tools invocation, they are as follows:
It compiles projects or their elements created in LyciaStudio and located in the workspace.
Syntax:
qbuild [options] ProjectRoot [target]
Usage example:
qbuild -M all <path to the program folder> <program name>
object_cache is a binary representation of object files that are compiled by native compiler.
Syntax:
qrun [options] file_name.extension
Usage example:
qrun --aot <my_program>
This command line tool links 4gl objects stored in *.4o
to 4gl library stored in *.4a
. Also, it links static C libraries stored in *.a/*.lib
, dynamic C libraries stored in *.so/*.dll
, 4gl objects stored in *.4o
and 4gl libraries stored in *.4a
to an application.
Syntax:
qlink [options] file_name.file_extension
Usage examples:
qlink --xml-errors -o fgl_library.4a fgl_cource_1.4o fgl_cource_2.4o fgl_cource_3.4o
qlink --xml-errors -o application_name fgl_cource.4o fgl_library_1.4a -l c_library.a
*.4gl
files into intermediate representation modules stored in *.4o
files.
Syntax:
qfgl [options] file_name.4gl
Usage example:
qfgl -d informix -e UTF-8 -o source.4o source.4gl
*.per
forms to Lycia graphical form stored in *.fm2
files .
Syntax:
qform [options] file_name.per
Usage example:
qform -xmlout -xml -DB informix -e UTF-8 per_form.per
It compiles messages stored in *.msg
, *.4s
, and *.res
files to messages stored in *.erm
files.
Syntax:
qmsg [options] input-file output-file
Usage example:
qmsg message_file.msg message_file.erm
It converts the following formats:
*.4ad -> *.ad2 *.4fd -> *.fm2 *.4fm -> *.fm2 *.4tb -> *.tb2 *.4tm -> *.tm2 *.4sm -> *.sm2 *.qxs -> *.sa2 *.str -> *.4s *.fm2 -> *.fm2 *.sm2 -> *.sm2 *.tb2 -> *.tb2 *.tm2 -> *.tm2 *.ad2 -> *.ad2
Syntax:
qxcompat --input-file <file_name> --output <output>
Usage example:
qxcompat --input-file project_name.4pw --output output_folder_name
*.c
files to C objects stored in *.o
files.
Syntax:
qxcc [ -32 | -64 ] [ -debug ] [-pic ] [ -c ] [-I<path> ] [-L<path> ] [-lname ] [ -o output_name ] input_files
Usage example:
qxcc -c -pic -64 $(CFLAGS) -I $(LYCIA_DIR)/include -i fglsys.h -i fglapi.h -i fgifunc.h source.c
This commad line tool converts C files with embedded SQL code stored in *.ec
files to C sources stored in *.c
files. To provide further compilation to C object stored in *.o
files using the qxcc.
Syntax:
esqlc [-t ][-s] [-l] [-c] [-e] [-E] [-D] [-i] [-o] input_file
Usage example:
esqlc -I $(LYCIA_DIR)/include ec_source.ec
qxcc -c -pic -64 $(CFLAGS) -I $(LYCIA_DIR)/include -i fglsys.h -i fglapi.h -i fgifunc.h ec_source.c
*.o
files to C libraries stored in *.a / *.lib
or in *.so / *.dll
.
Syntax:
qxld -dynamic -o library_name sources.obj -L$LYCIA_DIR/lib -l4glc
Usage example:
command example for static libraries:
> qxld -64 -static -o c_library.a c_source_1.o c_source_2.o ec_source_1.o ec_source_2.o
command example for dynamic libraries:
> qxld -64 -dynamic -o c_library.a c_source_1.o c_source_2.o ec_source_1.o ec_source_2.o
Enables a quick and clean database migration in case of necessity.
Syntax:
qexpt [options] database
Usage example:
command example of exporting the database:
qexpt -o /home/informix/Desktop/test1 --format sql -d informix --database stores
command example of exporting the database schema for offline compilation:
qexpt --tables-only -o /home/informix/Desktop/test1 --format xml -d informix --database stores
The flowchart below shows the process of compiling linking deploying and running 4GL and C source files using the command line tools
C Compiler Command | RDS Command | Effect of the Command | Lycia Tool | Details |
i4gl | r4gl | Enter programmer's environment | LVSCE is an IDE created to meet all the 4GL development needs. | |
c4gl sfile.4gl | fglpc sfile | Compile 4GL source file sfile.4gl | qfgl | Compiles *.4gl files into *.4o files. |
qxcc | Compiles *.c files into *.o files. | |||
qxld | Links *.o to C libraries: static C libraries *.a (Linux), *.lib (Windows); dynamic C libraries *.so (Linux), *.dll (Windows) | |||
qlink | Links 4GL libraries (.4a), 4GL programs, 4GL web services. Input files formats: *.4o, *.4a, *.lib, *.a, *.dll, *.so | |||
fglgo | Run the application | qrun | For app running, you can also use the RUN statement: RUN "<appname>" or RUN "qrun <appname>". |