Учебное пособие по CppCMS: Статическая ошибка компоновки шаблона: & quot; фатальная ошибка: content.h: такого файла или каталога нет & quot;

От 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 находится в том же каталоге

0

Решение

Вы должны включить затем с помощью «content.h»

GCC включает <> тег ищет файл по следующему пути

/usr/local/include
libdir/gcc/target/version/include
/usr/target/include
/usr/include

ссылка http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html

Если файл находится в том же каталоге, вы можете добавить их, используя

в этом случае компилятор будет искать в текущем каталоге

Однако вы также можете добавить любой путь к пути поиска, используя флаг -L.
пример

gcc -L / path / to / library filename.cpp

1

Другие решения

Других решений пока нет …