meltwater / served

A C++11 RESTful web server library
MIT License
710 stars 174 forks source link

compile example cpp got #include <served/served.hpp> file not found #41

Open a2232189 opened 6 years ago

a2232189 commented 6 years ago

Have followed the instruction:

  1. installed Boost
  2. Ran command below $ git clone git@github.com:meltwater/served.git $ mkdir served.build && cd served.build $ cmake ../served && make
  3. create a file name a.cpp, whose content is

include <served/served.hpp>

int main(int argc, char const* argv[]) { // Create a multiplexer for handling requests served::multiplexer mux;

// GET /hello
mux.handle("/hello")
    .get([](served::response & res, const served::request & req) {
        res << "Hello world!";
    });

// Create the server and run with 10 handler threads.
served::net::server server("127.0.0.1", "8080", mux);
server.run(10);

return (EXIT_SUCCESS);

}

  1. g++ a.cpp, got

a.cpp:1:10: fatal error: 'served/served.hpp' file not found

include <served/served.hpp>

     ^~~~~~~~~~~~~~~~~~~

1 error generated.

Where should I put a.cpp? Maybe it's because of the wrong file location..

rehovicova commented 4 years ago

After cmake ../served && make call sudo make install from /served folder

DaMenestrel commented 3 years ago

Hello :)

Once I have done these steps, including sudo make install. I run into an issue : when I compile

`

include <served/served.hpp>

int main(int argc, const char * argv[]) {

  //served::multiplexer mux;
  return (EXIT_SUCCESS);

} ` It works (linking succesful) but as soon as I uncomment the mux line this is occuring

Undefined symbols for architecture x86_64: "served::multiplexer::multiplexer()", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

I also tried without served:: `

include <served/served.hpp>

int main(int argc, const char * argv[]) {

multiplexer mux;
return (EXIT_SUCCESS);

} `

which let me on the "error"

error: unknown type name 'multiplexer'; did you mean 'served::multiplexer'? multiplexer mux; ^~~ served::multiplexer /usr/local/include/served/multiplexer.hpp:53:7: note: 'served::multiplexer' declared here class multiplexer

that confirmed that the installation worked, since it could suggest automatically the right space name

So, what can I do ? is it because there is a missing option in my compiling process ? I just compile with clang++ -std=c++17

thanks