Coder Social home page Coder Social logo

Comments (10)

qicosmos avatar qicosmos commented on July 29, 2024

为什么win上不直接用vs2017编译呢?

from cinatra.

akeyliu avatar akeyliu commented on July 29, 2024

我们一直考虑跨平台,使用codeblocks(通过不同平台的IDE版本)来编译,这样IDE在不同平台上也是一样的。现在thread, mutext的编译问题已解决,就是更换MinGW的版本,是Win32的版本更换成Posix的编译版本, 不过最后链接生成Exe文件时还有点问题,我看下是怎么链接的问题。

from cinatra.

akeyliu avatar akeyliu commented on July 29, 2024

如果方便的话,有以下几个建议:
1、开发建议还是基于最稳定的版本来开发,比如GCC5.4对应的C++14及Boost 1.58版本;这些配置在Ubuntu16.04中只用几个apt-get命令就能安装好,也说明这些版本是最稳定的版本;
2、C++17在gcc.gnu.org中官方解释就是实验性的完全支持C++17,可能会有隐藏的问题,这会影响将这些项目直接用在生产环境中的顾虑;而C++14是完全支持;
3、做为一个成熟项目,建议补充Test的一些内容;一来方便内部测试,二来用户也可以帮忙运行一些测试,提供反馈,进一步完善这些产品;
4、做为一个完整的项目,建议补充一些安装脚本、编译脚本等,这样,有基本软件概念的人就可以简单地通过现有的脚本快速编译、运行和测试。

我有20多年的C/C++的开发经验,也一直使用C++进行开发,目前在做一些人工智能算法方面的产品。
如果有荣幸的话,看看能否加入这个项目,做点我的贡献;

from cinatra.

qicosmos avatar qicosmos commented on July 29, 2024

1.现在cinatra只能用c++17编译,purecpp社区网站的http 服务器就是cinatra,gcc7.2+, gcc8.x下编译运行都是正常的,不用担心gcc高版本的问题。boost1.6x以上都可以。
2.现在确实缺少单元测试也缺少很多文档,一些自动化脚本也缺乏。
3.很欢迎cinatra爱好者能参与这个项目,这是开放的。
可以加入cinatra的qq群讨论:340713904

from cinatra.

akeyliu avatar akeyliu commented on July 29, 2024

如果你只是考虑any这个c++17的特征,boost库有一个any的模块? 不知道你这边除了Any还有其他C++17的特征不在Boost库中的吗? 我会加入QQ群。

from cinatra.

qicosmos avatar qicosmos commented on July 29, 2024

有很多现在boost没有的,比如c++11的可变参数模板,lambda,c++14的generic lambda, c++17的fold expression,inline variable, if constexpr。。。。
另外,cinatra现在可以不依赖于boost,可以用asio standalone版本。

from cinatra.

akeyliu avatar akeyliu commented on July 29, 2024

嗯,看过你两次cppcon的PPT,感觉你在元编程这块还是非常精通和深入的。 不过作为项目的使用者,会更看重产品的稳定性,是否适合提供两个版本,一个版本是实验性的,使用较为新的技术和标准,一个是稳定版本,使用较为主流的技术和版本,这样,能更大地推广项目;
比如我现在自己使用的项目,就主要使用c++标准库(c++14)和Boost库(1.58);尽量减少基础版本和框架的不确实性。

from cinatra.

qicosmos avatar qicosmos commented on July 29, 2024

之前很多人还希望cinatra能支持c++11,这样用的人就更多了,但是现在精力有限,能把cinatra完善好就不错了,除非平时的工作时间花一半在cinatra上,专门去做一下c++11的支持,但是这个工作量也是非常大的。

from cinatra.

akeyliu avatar akeyliu commented on July 29, 2024

嗯, 之前也是使用c++11,为了简化代码和优化性能,在确定C++14是完全支持后,才移到C++14上的。以GCC的角度来看,C++14是主流了。。

from cinatra.

akeyliu avatar akeyliu commented on July 29, 2024

终于在MinGW中编译成功了。
说明:
1、现有版本中CMakeList.txt中链接库没有针对非MSVC的链接说明,导致链接会直接失败;补充了CMakeLists.txt补充了非MSVC的链接说明,我个人喜欢静态链接所以都指向了静态库,这样最后编译的程序没有动态库的依赖;
2、现有版本中没有CMake的调用参数,包括各类定义;我写了一个外部的build_cinatra.bat文件,方便编译;
下面附上我这边使用build_cinatra的脚本,里面包括各类配置,用户需要时,只需要调整目录即可;
【说明:上传不能是bat文件,所以文件改名为build_cinatra.txt 】

CMakeLists.txt

build_cinatra.txt

from cinatra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.