0

来自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.cpphello.cppby rung++ 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在同一个目录中

4

1 回答 1

1

你必须包括然后使用“content.h”

GCC include <> 标签在以下路径中搜索文件

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

参考http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html

如果文件位于同一目录中,则可以使用添加它们

包括“文件名.h”

在这种情况下,编译器将在当前目录中搜索

但是,您也可以使用 -L 标志将任何路径添加到搜索路径。例子

gcc -L/路径/到/库文件名.cpp

于 2013-03-21T15:40:56.597 回答