GitHub version

The actual code in GitHub isn’t compiling some applications that are in emlid site for download.
The version in reach branch are actually the the one that emlid are using ?

1 Like

It whould be very nice to have a little how-to explaining how to compile the code.

It would make it easier to create pull requests

Yes. If you are attempting to build the GUI apps, you need to get Embarcadero C++ Builder.

As you can see here, the reach branch only generate Makefiles for rtkget_qt, rtknavi_qt and rtkplot_qt inside the app folder. This using a subdir build folder.

And here the second one, running qmake and make inside the project folder.

Both don’t compile everything and have errors.

#22 solve both problems. It’s possible to compile the entire project with only 4 commands.

mkdir build
cd build
qmake ..
make -j4

If this is the wrong way, please, add more info of how to build the project, because I am not able to compile all gui tools.

@patrickelectric, as I mentioned above you need Embarcadero C++ Builder, that is how RTKLIB is designed.

We use Embarcadero C++ Builder in our company, so the compiler is not a problem.

However… for the people that do not want to build the GUI tools, only the RTK main computation core, can you post compile instructions ?

+1 for non gui users

We mostly work with cli tools. To compile them all, simpy run make in the app directory. Will certainly work on Linux, however on Windows this might require something like Mingw.

1 Like

Thanks, that helps.

Is the source code available within the Edison ?
Or do we need to install git, gcc, makefile into the Edison to get it to compile ?
After compilation where do we need to put the compiled executable files so that reach uses them ?

@Amilcar_Lucas in WCS, you will need to compile passing the flags of intel atom core to perform the portability. (-march=atom)

What is WCS ???

Worst Case Scenario

Reach has all these installed, although I would recommend setting up a cross-compiler. The path for the compiled executable is /usr/bin/RTKLIB/...

This will get overwritten after you perform an update containing something RTKLIB-related. Also, ReachView relies on certain behavior of these binaries, so changing something might break the system. Do this at your own risk.

1 Like

Thanks, those are very good news.

I’m not at the office right now so I can not check it, so some more questions:

  • is the source code already inside reach ?
  • What flags do I need to pass to the makefile so that the binaries behave like you want them to ?

Thank you

No, you will have to download/clone it yourself.

It’s not about compiler flags, but more about general behavior, like getting status, shutting down and so on. As long as you don’t change anything about how these programs are used(as opposed to rtk-related stuff), you should be fine.

1 Like

Sorry to bother again … but can you put the information from this tread in the user manual and/or wiki ?

For instance the information that you need to edit the app/makefile and change BINDIR line and install target

#
# make all cui applications by gcc
#

BINDIR = /usr/bin/RTKLIB/app
DIRS   = pos2kml str2str rnx2rtkp convbin rtkrcv

all:
    @for i in $(DIRS); do $(MAKE) -C $$i/gcc; done

install:
    @echo installing...
    @for i in $(DIRS); do cp $$i/gcc/$$i $(BINDIR)/$$i/gcc/$$i; done

clean:
    @echo cleaning up...
    @for i in $(DIRS); do $(MAKE) -C $$i/gcc clean; done

That info is missing !!!

Hallo Emlid, I went ahead and published the information that was IMHO missing from your docs:

If I had this information in December 2016 I would be a much happier person right now :slight_smile:

1 Like