tinyember compile issues in linux (64-bit, gcc 4.8.2) in emberplus-1.6.2

146 views
Skip to first unread message

Arndt Stedler

unread,
Dec 1, 2014, 4:02:09 AM12/1/14
to ember-plus-...@googlegroups.com
Just a hint.
I have tried to compile tinyember and run into problems.
  • There are sourcefiles containing BACKSLASHES in include statements (not linux conform)
find . -iname "*.c*" -or -iname "*.h*" -exec grep -l -e '\#[ \t]*include .*\\' {} \;
shows following files
  • ./tinyember/TinyEmberPlusRouter/TinyEmberPlusRouter/net/TcpClient.h
  • ./tinyember/TinyEmberPlus/EditEnumerationDialog.h
  • ./tinyember/TinyEmberPlus/TinyEmberPlus.h
  • ./tinyember/TinyEmberPlus/net/TcpClient.h
  • ./tinyember/TinyEmberPlus/gadget/Subscriber.h
  • ./tinyember/TinyEmberPlus/GadgetViewContextMenu.h
  • ./tinyember/TinyEmberPlus/glow/Encoder.h
  • ./tinyember/TinyEmberPlus/CreateParameterDialog.h
  • ./tinyember/TinyEmberPlus/serialization/detail/GadgetTreeReader.h
  • ./libformula/Headers/formula/Term.hpp
  • ./libformula/Headers/formula/Error.hpp
that can be fixed with:
find . -iname "*.c*" -or -iname "*.h*" -exec sed -e '/\#[ \t]*include/ s/\\/\//g' {} \;


  • In the provided .PRI file, files are missing:
    Please add BooleanView.ui to the FORMS
  • All #pragma warnings related to MSVC need to be embraced in #ifdef _MSC_VER ... #endif statements
  • a statement like (TinyEmberPlus/gadget/Node.h):
    typedef DirtyStateListener<NodeFieldState::flag_type, Node const*> DirtyStateListener;
    will lead to heaps of warnings and errors using GCC 4.8.2 (Yes , c++11 is enabled)
    I had to change all of them to something like
    typedef DirtyStateListener<NodeFieldState::flag_type, Node const*> DIRTYSTATELISTENER;
  • I had to build a 'real' .PRO file from scratch to match Qt 5.3.x (attached for info)

Still i am not able to compile it .

Info:
> uname -a
Linux WKS-Mint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

> gcc --version
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

used standard Qt got from digia
Desktop Qt 5.3 GCC 64bit
TinyEmberPlusNew.pro

nullable.type

unread,
Dec 2, 2014, 3:39:53 AM12/2/14
to ember-plus-...@googlegroups.com
Hi Arndt

Thanks for the feedback - i guess you're the first one, who builds TinyEmberPlus for Linux.

I filed a bug containing the missing points of you:

Regards
Simon

Arndt Stedler

unread,
Dec 2, 2014, 2:34:41 PM12/2/14
to ember-plus-...@googlegroups.com
Hi Simon,
I run into new problems.
First of all:
see "DirtyState.h"
There you get the error:

/home/arndt/src/emberplus-1.6.2-A/tinyember/TinyEmberPlus/gadget/DirtyState.h:19: error:  shadows template parm 'class FlagType'
     template<typename FlagType>

That is due to violating C++11 Syntax
The relevant language specification is §14.6.1/7 A:
"A template-parameter shall not be redeclared within its scope (including nested scopes). A template-parameter shall not have the same name as the template name."
While the Microsoft Compiler seems to do it anyway, GCC is NOT.

I thought it was using C++11 but i may mistaken.
Any hint?

nullable.type

unread,
Dec 3, 2014, 3:04:35 AM12/3/14
to ember-plus-...@googlegroups.com
Hi Arndt

I guess it is very easy to fix it for you (I hope renaming the template type argument will solve the problem).
Please file a bug and if possible provide a patch, that solves the problem.

I think, it is time to have build-jobs also for TinyEmberPlus for Windows and Linux.

Regards
Simon

Torben Weibert

unread,
Dec 3, 2014, 6:01:12 AM12/3/14
to ember-plus-...@googlegroups.com
+1 for the build jobs for TinyEmber. Would be very handy if I could build the samples as a non-C-expert. 
Reply all
Reply to author
Forward
0 new messages