网站首页 文章专栏 求助:Ubuntu环境下无法编译feather
求助:Ubuntu环境下无法编译feather
编辑时间:2019-07-29 05:26:49 作者:小詹 12条评论


    出自:purecpp

    地址: www.purecpp.org

    转载请注明出处!


来说两句吧
登录才能发表评论。
最新评论
  • qicosmos
    qicosmos 2019-07-28 17:50:27
    你先把cinatra单独取下来编译一下看看有没有这个错误。另外,是最新的代码吗?
  • qicosmos
    小詹 2019-07-29 05:13:48

    回大神:

    两个Repo都在master branchs上git pull 过, 都是最新的。

    1. cinatra (master branche) 用example文件夹下的CMakeLists.txt可以编译,编译完毕运行了一下cinatra_example, 运行结果也符合根据main.cpp的预期。

    2. feather (master branch)我是在github 上clone的repo, 但貌似其中cinatra submodule 指向的是 7/23日的commit, 7/25日的两个commits 没有包括进去。

    ```

    commit 6ea88f9bdc697d0bbfb11051b03a41417803c6d5
    Merge: 1dad2db 812b7dd
    Author: qicosmos <383121719@qq.com>
    Date:   Tue Jul 23 19:03:55 2019 +0800

        Merge pull request #115 from vrqq/fixbug2
       
        fix memleak and data loss when multipart.
    ```
  • qicosmos
    qicosmos 2019-07-29 08:59:30
    你更新一下submodule再试试
  • qicosmos
    小詹 2019-07-29 12:59:11

    git submodule update --init --recursive 后没有任何变化, feather中cinatra的HEAD还是指向了

    ```

    commit 6ea88f9bdc697d0bbfb11051b03a41417803c6d5
    Merge: 1dad2db 812b7dd
    Author: qicosmos <383121719@qq.com>
    Date:   Tue Jul 23 19:03:55 2019 +0800

        Merge pull request #115 from vrqq/fixbug2
       

        fix memleak and data loss when multipart.

    ```

  • qicosmos
    qicosmos 2019-07-29 13:39:04
    我发现我忘记同步cinatra了,刚同步上去了,你再更新一下submodule试试。
  • qicosmos
    小詹 2019-07-30 08:42:46

    还是不行,我之前就尝试过把feather中的cinatra 替换成 cinatra master branch最新的,报错结果和现在一样(log MACRO找不到):

    ```

    ../feather/dao.hpp: In constructor ‘feather::dao_t<DB>::dao_t()’:
    ../feather/dao.hpp:14:17: error: ‘LOG_WARN’ was not declared in this scope
                     LOG_WARN << "db get connection failed";
                     ^~~~~~~~
    ../feather/dao.hpp:14:17: note: suggested alternative: ‘LONG_MAX’
                     LOG_WARN << "db get connection failed";
                     ^~~~~~~~

                     LONG_MAX

    ../feather/main.cpp: In function ‘void init(const feather::feather_cfg&)’:
    ../feather/main.cpp:18:2: error: ‘nanolog’ has not been declared
      nanolog::initialize(nanolog::GuaranteedLogger(), cfg.log_path, cfg.log_name, cfg.roll_file_size);
      ^~~~~~~
    ../feather/main.cpp:18:22: error: ‘nanolog’ has not been declared
      nanolog::initialize(nanolog::GuaranteedLogger(), cfg.log_path, cfg.log_name, cfg.roll_file_size);
                                  ^~~~~~~
    ../feather/main.cpp: In function ‘int main()’:
    ../feather/main.cpp:58:3: error: ‘LOG_CRIT’ was not declared in this scope
       LOG_CRIT << "listen failed";
       ^~~~~~~~
    ../feather/main.cpp:58:3: note: suggested alternative: ‘LONG_BIT’
       LOG_CRIT << "listen failed";
       ^~~~~~~~
       LONG_BIT

    ```
  • qicosmos
    qicosmos 2019-07-30 09:01:35
    这个问题应该是我最近修改cinatra导致的,我把log这个问题解决掉应该就可以了。
  • qicosmos
    qicosmos 2019-07-30 09:18:11
    更新一下feather代码,现在应该可以了。
  • qicosmos
    小詹 2019-07-30 13:40:53

    的确终于可以了,谢谢大神一路帮助。

    请问您的ormpp支持数据库除了int, string之外的数据类型么?比如DateTime, MySQL.JSON等等的。

    还有您的cinatra http response 除了主机内存外对response数据大小有限制么?对第三方JSON引擎支持?

    我主要兴趣是想用C++编写搭建在一个数据库(Postgres/MySQL)上的Rest JSON API, 所以还想问一下cinatra 内部是load balancing或者说是多线程request handling的默认工作模式?


    谢谢!

  • qicosmos
    qicosmos 2019-07-30 15:47:09

    请问您的ormpp支持数据库除了int, string之外的数据类型么?比如DateTime, MySQL.JSON等等的。

    目前没有支持DateTime, MySQL.JSON等类型,目前支持了数字和字符串。


    还有您的cinatra http response 除了主机内存外对response数据大小有限制么?对第三方JSON引擎支持?

    目前对response返回的数据大小没有限制。第三方json可以用nlohmann_json或者自己想用的json库,比如iguana.


    我主要兴趣是想用C++编写搭建在一个数据库(Postgres/MySQL)上的Rest JSON API, 所以还想问一下cinatra 内部是load balancing或者说是多线程request handling的默认工作模式?

    内部是多线程方式。

  • qicosmos
    小詹 2019-07-31 11:33:00
    酷!多谢详细回复!
  • qicosmos
    拉格朗 2019-08-02 14:44:47

    同款环境。。解决了就不说什么了。。

Absolutely

purecpp

一个很酷的modern c++开源社区


这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目。purecpp社区邮箱 purecpp@163.com
友情链接