Amanieu / asyncplusplus

Async++ concurrency framework for C++11
MIT License
1.34k stars 198 forks source link

arm gcc 4.8 error #48

Open CycMei opened 2 years ago

CycMei commented 2 years ago

/opt/arm-2014/arm-2014.05//bin/arm-none-linux-gnueabi-g++ -DLIBASYNC_STATIC -isystem /home/cyc/oscmake/3rdparty/asyncplusplus/include -g -std=gnu++11 -o CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o -c /home/cyc/oscmake/src/asyncplusplus.cpp [build] /usr/bin/make -f CMakeFiles/serial.out.dir/build.make CMakeFiles/serial.out.dir/depend [build] make[2]: Entering directory '/home/cyc/oscmake/build' [build] cd /home/cyc/oscmake/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/cyc/oscmake /home/cyc/oscmake /home/cyc/oscmake/build /home/cyc/oscmake/build /home/cyc/oscmake/build/CMakeFiles/serial.out.dir/DependInfo.cmake --color= [build] make[2]: Leaving directory '/home/cyc/oscmake/build' [build] /usr/bin/make -f CMakeFiles/serial.out.dir/build.make CMakeFiles/serial.out.dir/build [build] make[2]: Entering directory '/home/cyc/oscmake/build' [build] make[2]: Nothing to be done for 'CMakeFiles/serial.out.dir/build'. [build] make[2]: Leaving directory '/home/cyc/oscmake/build' [build] [ 90%] Built target serial.out [build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:141:0, [build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:55:34: error: 'std::exception_ptr' has not been declared [build] void (cancel)(task_base, std::exception_ptr&&) LIBASYNC_NOEXCEPT; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::task_base::run_continuation(Sched&, async::detail::task_ptr&&)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:104:37: error: 'current_exception' is not a member of 'std' [build] cont->vtable->cancel(cont.get(), std::current_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: At global scope: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:31: error: 'exception_ptr' is not a member of 'std' [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:70: error: 'exception_ptr' is not a member of 'std' [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:70: error: 'exception_ptr' is not a member of 'std' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:88: error: template argument 1 is invalid [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:96: error: template argument 1 is invalid [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:96: error: template argument 2 is invalid [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:99: error: expected ';' at end of member declaration [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:104: error: 'except' does not name a type [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:31: error: 'exception_ptr' is not a member of 'std' [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:70: error: 'exception_ptr' is not a member of 'std' [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:70: error: 'exception_ptr' is not a member of 'std' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:88: error: template argument 1 is invalid [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:96: error: template argument 1 is invalid [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:96: error: template argument 2 is invalid [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:99: error: expected ';' at end of member declaration [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:104: error: 'except' does not name a type [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:31: error: 'exception_ptr' is not a member of 'std' [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:70: error: 'exception_ptr' is not a member of 'std' [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:70: error: 'exception_ptr' is not a member of 'std' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:88: error: template argument 1 is invalid [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:96: error: template argument 1 is invalid [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:96: error: template argument 2 is invalid [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:99: error: expected ';' at end of member declaration [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:104: error: 'except' does not name a type [build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_of::value>::type except; [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:274:24: error: 'std::exception_ptr' has not been declared [build] void cancel_base(std::exceptionptr&& except) [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:282:26: error: 'std::exception_ptr' has not been declared [build] void set_exception(std::exceptionptr&& except) [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:288:2: error: 'exception_ptr' in namespace 'std' does not name a type [build] std::exception_ptr& get_exception() [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In destructor 'async::detail::task_result::~task_result()': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: expected type-specifier [build] reinterpret_cast<std::exception_ptr>(&this->except)->~exception_ptr(); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: expected '>' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: expected '(' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: 'exception_ptr' is not a member of 'std' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:40: error: expected primary-expression before '>' token [build] reinterpret_cast<std::exception_ptr>(&this->except)->~exception_ptr(); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:74: error: expected ')' before ';' token [build] reinterpret_cast<std::exception_ptr>(&this->except)->~exception_ptr(); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::task_result::set_exception(int&&)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:284:22: error: expected type-specifier [build] new(&this->except) std::exceptionptr(std::move(except)); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:284:22: error: expected ';' [build] In file included from /home/cyc/oscmake/src/asyncplusplus.cpp:2:0: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::task_result::wait_and_throw()': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:297:4: error: 'rethrow_exception' is not a member of 'std' [build] LIBASYNC_RETHROW_EXCEPTION(get_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:297:4: error: there are no arguments to 'get_exception' that depend on a template parameter, so a declaration of 'get_exception' must be available [-fpermissive] [build] LIBASYNC_RETHROW_EXCEPTION(get_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:297:4: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) [build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:141:0, [build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: At global scope: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:405:40: error: 'std::exception_ptr' has not been declared [build] static void cancel(task_base t, std::exception_ptr&& except) LIBASYNC_NOEXCEPT [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In static member function 'static void async::detail::task_func<Sched, Func, Result>::run(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400:14: error: 'current_exception' is not a member of 'std' [build] cancel(t, std::current_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::unwrapped_func<Result, Child>::operator()(Child) const': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:473:25: error: 'exception_ptr' is not a member of 'std' [build] parent->cancel_base(std::exception_ptr(get_internal_task(child_task)->get_exception())); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:477:24: error: 'current_exception' is not a member of 'std' [build] parent->cancel_base(std::current_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In function 'void async::detail::unwrapped_finish(async::detail::task_base, Child)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:495:63: error: 'current_exception' is not a member of 'std' [build] static_cast<task_result>(parent_base)->cancel_base(std::current_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, std::integral_constant<bool, true>, false>::operator()(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:548:64: error: 'exception_ptr' is not a member of 'std' [build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception())); [build] ^ [build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:141:0, [build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, async::detail::fake_void, false>::operator()(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:565:64: error: 'exception_ptr' is not a member of 'std' [build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception())); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, std::integral_constant<bool, true>, true>::operator()(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:593:64: error: 'exception_ptr' is not a member of 'std' [build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception())); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, async::detail::fake_void, true>::operator()(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:607:64: error: 'exception_ptr' is not a member of 'std' [build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception())); [build] ^ [build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:142:0, [build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/scheduler.h: In destructor 'async::task_run_handle::~task_run_handle()': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/scheduler.h:121:41: error: 'make_exception_ptr' is not a member of 'std' [build] handle->vtable->cancel(handle.get(), std::make_exception_ptr(task_not_executed())); [build] ^ [build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:143:0, [build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: At global scope: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:118:2: error: 'exception_ptr' in namespace 'std' does not name a type [build] std::exception_ptr get_exception() const [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:218:26: error: 'std::exception_ptr' has not been declared [build] bool set_exception(std::exception_ptr except) const [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: In member function 'bool async::detail::basic_event::set_internal(T&&) const': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:166:42: error: 'current_exception' is not a member of 'std' [build] get_internal_task(this)->cancel_base(std::current_exception()); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: In destructor 'async::detail::basic_event::~basic_event()': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:197:18: error: 'make_exception_ptr' is not a member of 'std' [build] set_exception(std::make_exception_ptr(abandoned_event_task())); [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: At global scope: [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:466:2: error: 'exception_ptr' in namespace 'std' does not name a type [build] std::exception_ptr get_exception() const [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:545:34: error: template declaration of 'async::task async::make_exception_task' [build] task make_exception_task(std::exception_ptr except) [build] ^ [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:545:29: error: 'exception_ptr' is not a member of 'std' [build] task make_exception_task(std::exception_ptr except) [build] ^ [build] make[2]: [CMakeFiles/asyncplusplus.out.dir/build.make:66: CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o] Error 1 [build] make[2]: Leaving directory '/home/cyc/oscmake/build' [build] make[1]: Leaving directory '/home/cyc/oscmake/build' [build] make[1]: [CMakeFiles/Makefile2:679: CMakeFiles/asyncplusplus.out.dir/all] Error 2 [build] make: *** [Makefile:120: all] Error 2 [build] Build finished with exit code 2

$ /opt/arm-2014/arm-2014.05//bin/arm-none-linux-gnueabi-g++ -vUsing built-in specs. COLLECT_GCC=/opt/arm-2014/arm-2014.05//bin/arm-none-linux-gnueabi-g++ COLLECT_LTO_WRAPPER=/opt/arm-2014/arm-2014.05/bin/../libexec/gcc/arm-none-linux-gnueabi/4.8.3/lto-wrapper Target: arm-none-linux-gnueabi Configured with: /scratch/maciej/arm-linux-2014.05-rel/src/gcc-4.8-2014.05/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} -DCS_SOURCERYGXX_MAJ=2014 -DCS_SOURCERYGXX_MIN=5 -DCS_SOURCERYGXX_REV=29' --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery CodeBench Lite 2014.05-29' --with-bugurl=https://sourcery.mentor.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-mpc=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-isl=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-cloog=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --disable-libgomp --disable-libitm --enable-libatomic --disable-libssp --enable-poison-system-directories --with-build-time-tools=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/bin SED=sed Thread model: posix gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)

cyc@cqset ~/oscmake master $

Amanieu commented 2 years ago

You need a toolchain that targets ARMv7+ (which has lock-free atomic support), or a more recent version of GCC.

lglgdouble commented 2 years ago

@Amanieu

When I add this parameter it produces the following error

add_definitions("-gstabs+ -march=armv7-a -mtune=cortex-a8")

[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference to std::__exception_ptr::exception_ptr::~exception_ptr()' [build] CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o: In functionasync::detail::task_func<async::threadpool_scheduler, async::detail::root_exec_func<async::threadpool_scheduler, async::detail::fake_void, main::{lambda()#1}, false>, async::detail::fake_void>::run(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference to std::current_exception()' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference tostd::__exception_ptr::exception_ptr::~exception_ptr()' [build] CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o: In function `async::detail::task_func<async::threadpool_scheduler, async::detail::root_exec_func<async::threadpool_scheduler, int, main::{lambda()#2}, false>, int>::run(async::detail::task_base)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference to std::current_exception()' [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference tostd::__exception_ptr::exception_ptr::~exception_ptr()' [build] CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o: In function async::detail::task_func<async::threadpool_scheduler, async::detail::continuation_exec_func<async::threadpool_scheduler, async::task<int>, int, main::{lambda(int)#3}, std::integral_constant<bool, true>, false>, int>::run(async::detail::task_base*)': [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference tostd::current_exception()'

Amanieu commented 2 years ago

libstdc++ also needs to be compiled with these flags.