grantila / q

A platform-independent promise library for C++, implementing asynchronous continuations.
http://libq.io
Apache License 2.0
192 stars 24 forks source link

Link Error #28

Open NobilisNC opened 6 years ago

NobilisNC commented 6 years ago

Hello,

I'm unable to link your lib with one of mine. I cannot use it if this code is present :

static auto ec = q::make_execution_context< q::blocking_dispatcher >( "main" );

Error:

undefined reference to `q::blocking_dispatcher::set_task_fetcher(q::detail::any_function<q::timer_task () noexcept, std::integral_constant<bool, true>, std::integral_constant<unsigned long, 128ul>, q::timer_task>&&)'

Any idea ? I built it with cmake and all test are ok. I'm using GCC7

Edit: I was compiling my lib with C++17 and it was not working. But if I compile it with C++14 it's ok.

grantila commented 6 years ago

Hmm, then you probably didn't build libq with C++17 in the first place, right? I haven't done so myself, so any input (and PR's if needed) are welcome!