Моя ОС: Mac OSX
Моя версия gcc: 4.2.1
Моя версия clang: llvm 6.1.0
версия cppcms: 1.0.5
Я загружаю фреймворк cppcms и устанавливаю фреймворк. Команды:
cd cppcms-1.0.5
mkdir build & cd build
cmake ..
make
make test
make install
Ошибка не найдена.
Я пишу файл cpp с именем hello.cpp. Программа выглядит так:
#include <cppcms/application.h>
#include <cppcms/applications_pool.h>
#include <cppcms/service.h>
#include <cppcms/http_response.h>
#include <iostream>
using namespace std;
class hello : public cppcms::application{
public:
hello(cppcms::service &srv) : cppcms::application(srv){
}
virtual void main(std::string url);
};
void hello::main(std::string /*url*/)
{
response().out() <<
"<html>\n""<body>\n"" <h1>Hello World</h1>\n""</body>\n""</html>\n";
}
int main(int argc,char ** argv) {
try {
cppcms::service srv(argc,argv);
srv.applications_pool().mount(
cppcms::applications_factory<hello>()
);
}
catch (std::exception const &e){
std::cerr << e.what() << std::endl;
}
return 0;
}
Мой config.js:
{
"service" : {
"api" : "http",
"port" : 8008
},
"http" : {
"script_names" : [ "/hello" ]
}
}
Скомпилировать команды:
c++ hello.cpp -lcppcms -o hello
./hello -c config.js
Я посетил URL «HTTP: // локальный: 8008 / привет«, тогда веб-браузер покажет мне
"This webpage is not available".
В чем дело? Как исправить проблему.
Самое главное, вы должны запустить свой сервис после его установки:
cppcms::service srv(argc,argv);
srv.applications_pool().mount(
cppcms::applications_factory<hello>()
);
srv.run();
Я также включил бы следующие два заголовочных файла (по крайней мере, в Linux
В противном случае я получил ошибку компиляции):
#include <cppcms/application.h>
#include <cppcms/applications_pool.h>