Comments (10)
为什么win上不直接用vs2017编译呢?
from cinatra.
我们一直考虑跨平台,使用codeblocks(通过不同平台的IDE版本)来编译,这样IDE在不同平台上也是一样的。现在thread, mutext的编译问题已解决,就是更换MinGW的版本,是Win32的版本更换成Posix的编译版本, 不过最后链接生成Exe文件时还有点问题,我看下是怎么链接的问题。
from cinatra.
如果方便的话,有以下几个建议:
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.
1.现在cinatra只能用c++17编译,purecpp社区网站的http 服务器就是cinatra,gcc7.2+, gcc8.x下编译运行都是正常的,不用担心gcc高版本的问题。boost1.6x以上都可以。
2.现在确实缺少单元测试也缺少很多文档,一些自动化脚本也缺乏。
3.很欢迎cinatra爱好者能参与这个项目,这是开放的。
可以加入cinatra的qq群讨论:340713904
from cinatra.
如果你只是考虑any这个c++17的特征,boost库有一个any的模块? 不知道你这边除了Any还有其他C++17的特征不在Boost库中的吗? 我会加入QQ群。
from cinatra.
有很多现在boost没有的,比如c++11的可变参数模板,lambda,c++14的generic lambda, c++17的fold expression,inline variable, if constexpr。。。。
另外,cinatra现在可以不依赖于boost,可以用asio standalone版本。
from cinatra.
嗯,看过你两次cppcon的PPT,感觉你在元编程这块还是非常精通和深入的。 不过作为项目的使用者,会更看重产品的稳定性,是否适合提供两个版本,一个版本是实验性的,使用较为新的技术和标准,一个是稳定版本,使用较为主流的技术和版本,这样,能更大地推广项目;
比如我现在自己使用的项目,就主要使用c++标准库(c++14)和Boost库(1.58);尽量减少基础版本和框架的不确实性。
from cinatra.
之前很多人还希望cinatra能支持c++11,这样用的人就更多了,但是现在精力有限,能把cinatra完善好就不错了,除非平时的工作时间花一半在cinatra上,专门去做一下c++11的支持,但是这个工作量也是非常大的。
from cinatra.
嗯, 之前也是使用c++11,为了简化代码和优化性能,在确定C++14是完全支持后,才移到C++14上的。以GCC的角度来看,C++14是主流了。。
from cinatra.
终于在MinGW中编译成功了。
说明:
1、现有版本中CMakeList.txt中链接库没有针对非MSVC的链接说明,导致链接会直接失败;补充了CMakeLists.txt补充了非MSVC的链接说明,我个人喜欢静态链接所以都指向了静态库,这样最后编译的程序没有动态库的依赖;
2、现有版本中没有CMake的调用参数,包括各类定义;我写了一个外部的build_cinatra.bat文件,方便编译;
下面附上我这边使用build_cinatra的脚本,里面包括各类配置,用户需要时,只需要调整目录即可;
【说明:上传不能是bat文件,所以文件改名为build_cinatra.txt 】
from cinatra.
Related Issues (20)
- websocket服务端一些问题 HOT 14
- refactor cinatra server to support c++20 coroutine HOT 4
- 编译报错,‘_M_set_length’ is not a member of ‘std::string’ HOT 5
- 如何使用已有的io_context运行cinatra HOT 1
- 如何获取coro_http_client调接口 耗时 HOT 3
- Highly concurrent downloading of 2m js files will increase memory usage HOT 1
- websocket,1分钟没有消息交互,服务端会主动把链接掐断 HOT 2
- Windows visit Chinese filename not found
- 请问下,考虑支持unix套接字吗. HOT 10
- 是否可以让server对象的listen函数支持设置连接队列的长度? HOT 6
- bug: gcc resize_and_overwrite 導致髒數據的問題 HOT 21
- fatal error: 'asio/dispatch.hpp' file not found HOT 2
- https question HOT 18
- Failed to connect websocket with `Connection: upgrade` HOT 3
- [需求] 处理程序相关 HOT 12
- client URL 检测 的奇怪 bug HOT 7
- 上传二进制文件无法使用 HOT 2
- async_download 没有写入内容到文件 HOT 5
- 请问下,当链接断开时,如何获取到具体原因? HOT 3
- 【错误与需求】Nginx与chunked模式 HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cinatra.