Hi Mustafa,
> On 07.07.2015, at 10:25, Mustafa Yuce <
mustaf...@gmail.com> wrote:
>
> Hi Lukas;
>
> First of all we have encountered a problem about protobuf-c. In vcdc in messages.pb-c.h file there is a section like this;
>
> #if PROTOBUF_C_VERSION_NUMBER < 1000000
> # error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
> #elif 1000002 < PROTOBUF_C_MIN_COMPILER_VERSION
> # error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
> #endif
>
> Here there is no PROTOBUF_C_VERSION_NUMBER variable in header file. We thought it is about version. So we included new protobuf-c.h, protobuf-c.c into our project. And we overcome this issue. May be you have some explanation about this issue.
This is probably because the git repo includes the generated protobuf files (in src/pbuf/gen), to allow building vdcd on platforms which do not have the protobuf c compiler. These generated files depend on the protoc version installed on the build platform, which might not be the same on my build platform as on yours.
When you build according to the howto, there's a "make clean" step which deletes these files, so the actual make will regenerate them matching the build platform's protoc version.
I'm can't tell you how to integrate the protoc build steps into your project, but maybe looking at Makefile.am, lines 10..28 will help, that's how these files are built.
> Secondly in oladevicecontainer.hpp file there is a section like ;
>
> #include <ola/DmxBuffer.h>
>
> Here it needs ola library. When we look at your "build document" i cant see any information about ola. How can we resolve this issue?
If you build as described in the how-to, OLA will not be required.
The makefile contains two targets for vdcd, one called "vdcd" and the other called "olavdcd". Only the latter needs OLA. The former does not even contain the oladevicecontainer.hpp file, so it builds without any OLA support installed. And any regular make build will only build "vdcd".
But as you don't seem to use the makefile, you need to manually pick (or rather - NOT pick) the right files; OLA is not the only depenendcy you'll run into if you just try to compile everything.
So exclude from /src/deviceclasses at least "demo", "ledchain", "ola" and "upnphack".
Best Regards,
Lukas Zeller