FET command line without using the X-server

Started by Liviu Lalescu, August 15, 2011, 06:54:01 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

Foradian Technologies made a FET command line version, without using the X-server. See the download link (to a GIT repository) in the Tools/Links section on the FET homepage.

otwist

Good news! I still have access to my university computer clusters...  :)

Zsolt Udvari


m_kaleia

Thanks alot

I have dowload foradian-FET (command line without using the X-server)

but how to install it ? it does not have an executable file !

I have download MinGW but I don't know how to use it

Thanks alot

Liviu Lalescu

Quote from: m_kaleia on November 08, 2011, 04:07:01 PM
Thanks alot

I have dowload foradian-FET (command line without using the X-server)

but how to install it ? it does not have an executable file !

I have download MinGW but I don't know how to use it

Thanks alot

I have written in the README file the advice on how to compile (and run) FET using MinGW and Qt.

On the other hand, Foradian command-line without X-server is based on FET-5.14.5. The new FET-5.15.0 has two new useful constraints and other improvements. I would really recommend everybody to use the latest FET. Or ask Foradian to upgrade their package to the latest FET.

In the README file, on line 242 and below (for FET-5.15.0), I added instructions on how to obtain a command-line FET which does not use the X-server. It is not very difficult (but you need to have C++ programming knowledge).

Karel Rodríguez Varona

Hi Liviu:
First of all my congrats for such a great job!
I would like, if you give me your permission, to work in a version of fet that doesn't use QT, it means using stl for using it later in a more elaborated timetable management software.
Do you think this is possible?

Liviu Lalescu

Thank you for the suggestion! I added in the README the solution to this:

following

   As an additional note for the included command line version of FET: it uses the graphical desktop. If you are a developer and would like to
   obtain a FET executable for use as a command line only application, which will not try to connect to the graphical desktop,
   and which will not open up dialogs to report problems, it is not very difficult. Remove the Qt gui module from FET, get the files from
   the src/engine directory and the files src/interface/fet.h and src/interface/fet.cpp and add them into a new Qt project, and try to compile.
   You will get errors about missing include files, from Qt and from the FET interface files. Remove these include directives from your new project's files.
   You will get errors about missing variables. See where they are defined in the FET interface files and define them similarly in your project.
   You will get errors about undefined functions, like QMessageBox::information(...). Implement the undefined graphical user interface
   functions with dummy functions. There are not too many functions like that.

I added:

   Continuing the idea, if you want to be completely independent from Qt, using only standard C++, you can remove all the Qt includes and
   reimplement the used Qt classes QString, QList, QSet, and others (only the member functions which are necessary). Or just get the corresponding code from Qt, if the Qt license permits that.

m_kaleia

Hello ,

Can you make a new command line version for the newer version and compile it pleeeeeeeeeease.

Thanks a lot

Zsolt Udvari

I've modified FET 5.18.0 similar like Foradian Tech.
Please check and test it!
https://github.com/uzsolt/fet-cli

Liviu Lalescu

I would have preferred you to do it like in http://lalescu.ro/liviu/fet/forum/index.php?topic=447.msg6036#msg6036 , but you have complete freedom :)

Please tell me how to add the link in Tools/Links.

Soyeb

I would have thought it better to create multiple targets in the existing project, and conditionally compile the gui bits.

This way you only need to choose your target when compiling to get the different versions.

If you want help, or more explanation on how to do this I will happily assist.  I have done this kind of thing a number of times on Qt project.

Regarding moving to using pure stl, it is a big job, depending on how extensively Qt support classes have been used.  For example it is not simple to move from QString to std::string as the two have different behaviour.  Of course it would be ideal for all non-gui related code to used stl, but it is a big effort to change existing code to do that.

Regards,

Soyeb


Liviu Lalescu

About having more compilation environments, it may be complicated/risky. But I'll think about it.

I meant QList can be implemented like:

class QList: public std::list{
    void append(int i): list.push_back(i);
};

etc., which is very simple.

Zsolt Udvari

Quote from: Liviu Lalescu on July 12, 2012, 04:00:13 PM
Please tell me how to add the link in Tools/Links.
Similar as Foradian. Or why do you ask this?

Zsolt Udvari

Quote from: Soyeb on July 12, 2012, 04:44:26 PM
If you want help, or more explanation on how to do this I will happily assist.  I have done this kind of thing a number of times on Qt project.
I know about conditional compiling but I don't have time to do this. If you want to do compare the "official" FET 5.18.0 and my fet-cli.

Liviu Lalescu