От http://cppcms.com/wikipp/en/page/cppcms_1x_tut_hello_templates
Я следую учебному пособию и ниже, что я сделал.
В content.h
:
#include <cppcms/view.h>
#include <string>
namespace content {
struct message : public cppcms::base_content {
std::string text;
};
}
В my_skin.tmpl
:
<% c++ #include "content.h" %>
<% skin my_skin %>
<% view message uses content::message %>
<% template render() %>
<html>
<body>
<h1><%= text %> World!</h1>
</body>
<html>
<% end template %>
<% end view %>
<% end skin %>
Добавить включить в hello.cpp
:
#include <content.h>
Добавить контроллер в hello.cpp
:
virtual void main(std::string /*url*/)
{
content::message c;
c.text=">>>Hello<<<";
render("message",c);
}
Когда я ссылку статически my_skin.cpp
в hello.cpp
бегом g++ hello.cpp my_skin.cpp -o hello -lcppcms -lbooster
Дай ошибку ниже:
hello.cpp:1:21: fatal error: content.h: No such file or directory
Я не знаю, почему ошибка, так как hello.cpp
а также content.h
находится в том же каталоге
Вы должны включить затем с помощью «content.h»
GCC включает <> тег ищет файл по следующему пути
/usr/local/include libdir/gcc/target/version/include /usr/target/include /usr/include
Если файл находится в том же каталоге, вы можете добавить их, используя
в этом случае компилятор будет искать в текущем каталоге
Однако вы также можете добавить любой путь к пути поиска, используя флаг -L.
пример
gcc -L / path / to / library filename.cpp
Других решений пока нет …