Salut
Depuis ce matin, je teste les exemples fourni dans la documentation du site off de boost et je suis tombé sur un os quand j'ai voulu faire mumuse avec asio.hpp
Impossible de compiler
voici le programme :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| //
// client.cpp
// ~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
#include <iostream>
#include <boost/array.hpp>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
int main(int argc, char* argv[])
{
try
{
if (argc != 2)
{
std::cerr << "Usage: client <host>" << std::endl;
return 1;
}
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(argv[1], "daytime");
tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
tcp::resolver::iterator end;
tcp::socket socket(io_service);
boost::system::error_code error = boost::asio::error::host_not_found;
while (error && endpoint_iterator != end)
{
socket.close();
socket.connect(*endpoint_iterator++, error);
}
if (error)
throw boost::system::system_error(error);
for (;;)
{
boost::array<char, 128> buf;
boost::system::error_code error;
size_t len = socket.read_some(boost::asio::buffer(buf), error);
if (error == boost::asio::error::eof)
break; // Connection closed cleanly by peer.
else if (error)
throw boost::system::system_error(error); // Some other error.
std::cout.write(buf.data(), len);
}
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
return 0;
} |
voici ma ligne pour compiler :
g++ -Wall -W -pedantic -ansi -lboost_asio socket.cpp -o socketju
et voilà les lignes d'erreurs que j'ai :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| socket.cpp:15: erreur: boost::asio has not been declared
socket.cpp: In function int main(int, char**):
socket.cpp:27: erreur: boost::asio has not been declared
socket.cpp:27: erreur: expected `;' before io_service
socket.cpp:29: erreur: tcp has not been declared
socket.cpp:29: erreur: expected `;' before resolver
socket.cpp:30: erreur: tcp has not been declared
socket.cpp:30: erreur: expected `;' before query
socket.cpp:31: erreur: tcp has not been declared
socket.cpp:31: erreur: expected `;' before endpoint_iterator
socket.cpp:32: erreur: tcp has not been declared
socket.cpp:32: erreur: expected `;' before end
socket.cpp:34: erreur: tcp has not been declared
socket.cpp:34: erreur: expected `;' before socket
socket.cpp:35: erreur: boost::system has not been declared
socket.cpp:35: erreur: expected `;' before error
socket.cpp:36: erreur: error was not declared in this scope
socket.cpp:36: erreur: endpoint_iterator was not declared in this scope
socket.cpp:36: erreur: end was not declared in this scope
socket.cpp:38: erreur: request for member close in socket, which is of non-class type int ()(int, int, int)throw ()
socket.cpp:39: erreur: request for member connect in socket, which is of non-class type int ()(int, int, int)throw ()
socket.cpp:41: erreur: error was not declared in this scope
socket.cpp:42: erreur: boost::system has not been declared
socket.cpp:47: erreur: boost::system has not been declared
socket.cpp:47: erreur: expected `;' before error
socket.cpp:49: erreur: request for member read_some in socket, which is of non-class type int ()(int, int, int)throw ()
socket.cpp:49: erreur: boost::asio has not been declared
socket.cpp:49: erreur: error was not declared in this scope
socket.cpp:51: erreur: boost::asio has not been declared
socket.cpp:54: erreur: boost::system has not been declared
socket.cpp: At global scope:
socket.cpp:17: attention : unused parameter argv |

J'ai cherché toute l'am et ... rien, je n'ai pas trouvé le soucis 
Si quelqu'un a une idée, je suis preneur (je suis sous linux au fait
)
Partager