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 Linux/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:
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
Syntax:
fglm [options] [files]
Usage example:
genrb -v -d ./output ./source/hello_world.4s
Syntax:
fglm [options] passes
Usage example:
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. | |
| genrb | Compiles *.4s resource files. | |||
| fglm | Analyzes 4GL source code. | |||
| c4gl sfile.4gl | fglpc sfile | Compile 4GL source file sfile.4gl | qfgl | Compiles *.4gl files into *.4o files. |
| 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>". | |
| 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). |