cpp-redis / cpp_redis

C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform
MIT License
713 stars 198 forks source link

CMake custom TCP clienet throws make errors #53

Open NickPryorMe opened 4 years ago

NickPryorMe commented 4 years ago

Describe the bug Currently am trying to compile the library via CMake. CMake is able to generate the files but as soon as I try to build the library it throws errors. The errors only show if I compile using TCP Custom module. If I do not use it then I can compile the library.

To Reproduce

cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_CUSTOM_TCP_CLIENT=1
make

Additional context


Scanning dependencies of target cpp_redis
[  5%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/array_builder.cpp.o
[ 11%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/builders_factory.cpp.o
[ 17%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/bulk_string_builder.cpp.o
[ 23%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/error_builder.cpp.o
[ 29%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/integer_builder.cpp.o
[ 35%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/reply_builder.cpp.o
[ 41%] Building CXX object CMakeFiles/cpp_redis.dir/sources/builders/simple_string_builder.cpp.o
[ 47%] Building CXX object CMakeFiles/cpp_redis.dir/sources/core/client.cpp.o
[ 52%] Building CXX object CMakeFiles/cpp_redis.dir/sources/core/consumer.cpp.o
/home/dev/libs/cpp_redis/sources/core/consumer.cpp: In constructor ‘cpp_redis::consumer_client_container::consumer_client_container()’:
/home/dev/libs/cpp_redis/sources/core/consumer.cpp:32:85: error: no matching function for call to ‘cpp_redis::client::client()’
  consumer_client_container::consumer_client_container() : ack_client(), poll_client() {
                                                                                     ^
In file included from /home/dev/libs/cpp_redis/includes/cpp_redis/core/consumer.hpp:27:0,
                 from /home/dev/libs/cpp_redis/sources/core/consumer.cpp:23:
/home/dev/libs/cpp_redis/includes/cpp_redis/core/client.hpp:83:13: note: candidate: cpp_redis::client::client(const std::shared_ptr<cpp_redis::network::tcp_client_iface>&)
    explicit client(const std::shared_ptr<network::tcp_client_iface> &tcp_client);
             ^~~~~~
/home/dev/libs/cpp_redis/includes/cpp_redis/core/client.hpp:83:13: note:   candidate expects 1 argument, 0 provided
/home/dev/libs/cpp_redis/sources/core/consumer.cpp:32:85: error: no matching function for call to ‘cpp_redis::client::client()’
  consumer_client_container::consumer_client_container() : ack_client(), poll_client() {
                                                                                     ^
In file included from /home/dev/libs/cpp_redis/includes/cpp_redis/core/consumer.hpp:27:0,
                 from /home/dev/libs/cpp_redis/sources/core/consumer.cpp:23:
/home/dev/libs/cpp_redis/includes/cpp_redis/core/client.hpp:83:13: note: candidate: cpp_redis::client::client(const std::shared_ptr<cpp_redis::network::tcp_client_iface>&)
    explicit client(const std::shared_ptr<network::tcp_client_iface> &tcp_client);
             ^~~~~~
/home/dev/libs/cpp_redis/includes/cpp_redis/core/client.hpp:83:13: note:   candidate expects 1 argument, 0 provided
CMakeFiles/cpp_redis.dir/build.make:254: recipe for target 'CMakeFiles/cpp_redis.dir/sources/core/consumer.cpp.o' failed
make[2]: *** [CMakeFiles/cpp_redis.dir/sources/core/consumer.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/cpp_redis.dir/all' failed
make[1]: *** [CMakeFiles/cpp_redis.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2```
larkwiot commented 1 year ago

I am also having this issue