Hi Markus,
I sort of feel a little uncomfortable, with all the development for c++ being
done behind closed doors and then having the results presented to the rest.
That's not sort of how things work at the ASF.
Isn't there a way you guys could for example develop things in feature branches
and then merge back to develop as soon as you reached a checkpoint?
Right now for example I disabled the logging module as the build keeps on
complaining:
[ 57%] Building CXX object
CMakeFiles/plc4cpp-utils-logger.dir/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp.o
In file included from
/Users/christofer.dutz/Projects/Apache/PLC4X/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp:20:
/Users/christofer.dutz/Projects/Apache/PLC4X/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h:23:10:
fatal error: 'boost\system\error_code.hpp' file not found
#include <boost\system\error_code.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
The problem the file is there and it is available ... not quite sure why make
seems to be finding all the other hpp files, but is having a problem with that
particular one.
With Maven being the primary build system, the build must work with Maven ...
so please check your builds to work with maven at least before checking them in.
If you need help, I am happy to be of assistance.
I'm not insisting on you using Maven during development and I'm also not
insisting on running it on Win, Mac and Linux, as I am currently mostly doing
it, but I do that it should be run at least once on any of these systems before
checking in.
I don't want to continue the mode in which I have to drop everything I'm
currently working on just to fix a code-drop.
Chris
Am 13.05.19, 09:43 schrieb "Markus Sommer" <[email protected]>:
Hello Chris,
we've only maintained the CMakelists so far. We haven't dealt with Maven in
the project yet.
For us, the focus is on implementing the other classes in C++ and then
accessing an S7 with a ReadRequest. Just now the implementation with signals
for asynchronous reporting of incoming messages.
Have also fought with CMakeLists something with Boost to link the necessary
libraries into the project.
Changing the CMakelists is then done quickly.
Best regards
Markus
Freundliche Grüße
Markus Sommer
Geschäftsführer
isb innovative software businesses GmbH
Otto-Lilienthal-Strasse 2
D - 88046 Friedrichshafen
Tel.: +49 (0) 7541 3834-14
Mob: +49 (0) 171 537 8437
Fax: +49 (0) 7541 3834-20
E-Mail: [email protected]
Web: www.isb-fn.de
Geschäftsführer: Markus Sommer, Thomas Zeler
Sitz: Friedrichshafen
Registergericht: Amtsgericht Ulm HRB-Nr. 631624
Important Note: This e-mail and any attachments are confidential, may
contain trade secrets and may well also be legally privileged or otherwise
protected from disclosure. If you have received it in error, you are on notice
of its status.
Please notify us immediately by reply e-mail and then delete his e-mail and
any attachment from your system. If you are not the intended recipient please
understand that you must not copy this e-mail or any attachments or disclose
the contents to any other person. Thank you.
-----Ursprüngliche Nachricht-----
Von: Christofer Dutz <[email protected]>
Gesendet: Montag, 13. Mai 2019 09:32
An: [email protected]
Betreff: [C++] Latest config changes
Hi All and especially Markus,
I just had a look at the changes that were added recently to the c++ part
of PLC4X.
One thing I noticed, is that you re-added the relative links between the
modules.
If you do a maven build (at least to the “generate-sources” phase, maven
will make all dependencies available as they were configured in the
CMakeList.txt files.
You now sort of have them in there double … for a maven build there will
now be two paths to every file. I hope this can’t cause any confusion?
In the “generate-sources” phase maven takes all the dependencies and
unpacks them into the “target/dependencies” directory.
This then contains one “includes” and one “libs” folder, which contains all
the includes and all the libs this module depends on.
The cool thing with with is, that this way if you add a new dependency, all
you need to do, is to add that dependency to the pom.xml Its content will
automatically show up in the location where all the others have shown up and
you don’t need any configuration changes.
If however you start double-doing the dependencies by introducing these
relative paths again, I guarantee that we will be having problems.
The reason is that you will probably not add dependencies to the pom.xml
Chris