facebook / mvfst

An implementation of the QUIC transport protocol.
MIT License
1.5k stars 244 forks source link

Errors occurred when I try to build it #217

Closed csy19960309 closed 3 years ago

csy19960309 commented 3 years ago

The error messages generated by cmake are below. [build] FAILED: quic/server/CMakeFiles/mvfst_server.dir/QuicServer.cpp.o [build] /usr/local/bin/clang++ -DFMT_LOCALE -I../ -g -Wall -Wextra -Woverloaded-virtual -Wnon-virtual-dtor -std=c++17 -MD -MT quic/server/CMakeFiles/mvfst_server.dir/QuicServer.cpp.o -MF quic/server/CMakeFiles/mvfst_server.dir/QuicServer.cpp.o.d -o quic/server/CMakeFiles/mvfst_server.dir/QuicServer.cpp.o -c ../quic/server/QuicServer.cpp [build] ../quic/server/QuicServer.cpp:25:1: error: C++ requires a type specifier for all declarations [build] DEFINE_bool( [build] ^ [build] ../quic/server/QuicServer.cpp:26:5: error: use of undeclared identifier 'qs_io_uring_use_async_recv' [build] qs_io_uring_use_async_recv, [build] ^ [build] ../quic/server/QuicServer.cpp:173:12: warning: lambda capture 'workerEvb' is not used [-Wunused-lambda-capture] [build] workerEvb, [build] ~~~~~~~~~~~^~~~~~~~~ [build] ../quic/server/QuicServer.cpp:199:33: error: use of undeclared identifier 'FLAGS_qs_io_uring_use_async_recv' [build] this->shared_from_this(), FLAGS_qs_io_uring_use_async_recv); [build] ^ [build] 1 warning and 3 errors generated.

The gflags version I used is v2.2.2.

csy19960309 commented 3 years ago

It seems to be an include error, because the building succeeded after I copied all the includes of quic/tools/tperf/tperf.cpp to the file where errors had occurred.

csy19960309 commented 3 years ago

Or rather, adding an include #include <folly/portability/GFlags.h> also solved this problem.