Cefclient works, but cef3/include fails branch 4692

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Cefclient works, but cef3/include fails branch 4692

Postby edgardog » Wed Dec 08, 2021 8:26 am

Hi, I'm trying to update my code for CEF wrapper. I managed to build branch 4692 correctly and I can build cefclient and it runs fine.
But when I try to build my code, I'm getting lots of errors for: cef3/include/base/cef_scoped_refptr.h:83:24 error 'decay_t' is not a member of 'std'

I imagine there is something wrong with my project setup that is not choosing the proper options for the compiler.
I tried with gcc 5 and gcc 9 (ubuntu 16 and ubuntu 20 respectively). Both produce the same type of error for the decay_t (pretty much on every .h where decay_t is used).
There are other errors but I think its just a consequence of finding not dealing with the decay_t.

Any pointers on what changed recently and I might need to modify in my toolchain?

The last branch I built successfully was 4515 about 6 months ago. I could bisect all versions between 4515 and 4692 to try to figure out when it goes bad, but if someone knows the answer it would save me some trouble.
Thanks
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Cefclient works, but cef3/include fails branch 4692

Postby edgardog » Wed Dec 08, 2021 9:12 am

I think its related to the C++ standard.
My wrapper code calls -std=gnu++11 and it should change to 14.
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Cefclient works, but cef3/include fails branch 4692

Postby edgardog » Wed Dec 08, 2021 10:17 am

edgardog wrote:I think its related to the C++ standard.
My wrapper code calls -std=gnu++11 and it should change to 14.


Found the clue: https://bitbucket.org/chromiumembedded/ ... 4-features
So I have a fun couple of days ahead (changing OVERRIDE -> override , NULL -> nullptr and figuring out the base::Once change)
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Cefclient works, but cef3/include fails branch 4692

Postby edgardog » Wed Dec 08, 2021 3:01 pm

I managed to make most of the changes (changed std to c++14, changed OVERRIDE to override, NULL to nullptr and other minor changes).
Everything compiles, but when It tries to link I get:
build/Debug/GNU-Linux/src/BrowserApp.o: In function `base::RefCountedThreadSafe<base::internal::BindStateBase, base::internal::BindStateBaseRefCountTraits>::~RefCountedThreadSafe()':
./libs/cef3/include/base/cef_ref_counted.h:437: undefined reference to `base::cef_subtle::RefCountedThreadSafeBase::~RefCountedThreadSafeBase()'


This happens if I use
Code: Select all
 CefPostTask(TID_PROCESS_LAUNCHER, CefCreateClosureTask(base::BindOnce(&BrowserApp::LaunchExternalBrowser, url)));

Before it used to be only base::Bind

I also had to change includes for it to compile from:
#include "include/base/cef_bind.h"

to
#include "include/base/cef_callback.h"

I'm missing something but I can't tell what.
Anyone can provide any pointers?

Thanks
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Cefclient works, but cef3/include fails branch 4692

Postby magreenblatt » Wed Dec 08, 2021 3:32 pm

magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Cefclient works, but cef3/include fails branch 4692

Postby edgardog » Thu Dec 09, 2021 6:57 am



Thanks.
Adding the NDEBUG define took care of the problem.
Not sure why it was not needed before, but it seems to be required now.

Best Regards!
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm


Return to Support Forum

Who is online

Users browsing this forum: Google [Bot], salvadordf and 37 guests