newLISP C++编译示范工程cppwizard v1.2.0发布
来源:互联网 发布:淘宝秒杀不用刷新 编辑:程序博客网 时间:2024/05/21 10:50
项目代码在gitlab.com上
git@gitlab.com:newlisp/cppwizard.git
该项目包含了两个工程,一个是console,普通的C++ 11工程,另一个是cppcms_base,是基于cppcms的web工程。
注意,默认配置的是clang编译器,cppcms库需要先安装。newLISP显然是需要事先安装的。目前仅支持linux系统。
每个工程目录下都有一个builder目录,编译时只需要运行./rebuild.lsp即可。
在builder目录下有一个配置文件build_config.lsp:
(set 'include-paths (list "../include"))(set 'src-paths (list "../src/" ))(set 'libs (list "pthread" "boost_log" "boost_log_setup" "boost_system" "boost_thread" "boost_filesystem" ))(set 'o-dir "./object")(set 'bin-dir "bin")(set 'binary-name "example")(set 'cc "c++")(global 'cc)
可以调整里面的配置,修改头文件,源代码文件目录位置,以及修改链接库,等等。
cppcms_base项目由于需要使用cppcms编译,所以配置多两个库cppcms和booster.
(set 'include-paths (list "../include"))(set 'src-paths (list "../src/" ))(set 'libs (list "pthread" "cppcms" "booster" "boost_log" "boost_log_setup" "boost_system" "boost_thread" "boost_filesystem" ))(set 'o-dir "./object")(set 'bin-dir "bin")(set 'binary-name "web_app_example")(set 'cc "c++")(global 'cc)
同时在rebuild.lsp中使用tmpl.lsp文件,该文件内部使用cppcms_tmpl_cc命令将tmpl文件转换成cc
;; clean view/*.cpp files generated from cppcms_tmpl_cc(set 'view-dir "../src/view")(if (directory? view-dir) (file:clean-folder view-dir) (make-dir view-dir))(set 'tmpl-dir "../template");; generate .cc files in view folder(load "tmpl.lsp")(tmpl-to-cc tmpl-dir view-dir)
编译输出如下:
cppwizard/cppcms_base/builder$ ./rebuild.lsp cppcms_tmpl_cc ../template/page.tmpl -o ../src/view/page.ccclean ./object folderc++ -g -std=c++11 -I../include -Wall -DBOOST_LOG_DYN_LINK -o ./object/site.cpp.o -c ../src/controller/site.cppc++ -g -std=c++11 -I../include -Wall -DBOOST_LOG_DYN_LINK -o ./object/page.cc.o -c ../src/view/page.ccc++ -g -std=c++11 -I../include -Wall -DBOOST_LOG_DYN_LINK -o ./object/main.cpp.o -c ../src/main.cppc++ -g /home/dean/work/gitlab.com/cppwizard/cppcms_base/builder/object/page.cc.o /home/dean/work/gitlab.com/cppwizard/cppcms_base/builder/object/main.cpp.o /home/dean/work/gitlab.com/cppwizard/cppcms_base/builder/object/site.cpp.o -o bin/web_app_example -rdynamic -pthread -lcppcms -lbooster -lboost_log -lboost_log_setup -lboost_system -lboost_thread -lboost_filesystem
0 0
- newLISP C++编译示范工程cppwizard v1.2.0发布
- CentOS 5.9+ 编译newlisp
- VS编译c工程
- mongodb newlisp driver v0.1.0 发布
- Au1200 CoreBSP v1.51默认工程编译记录
- EXITTHRD.C--示范ExitThread()
- 改进的newLISP编译C++的脚本
- Ubuntu 14.04 编译newLISP 10.6.0
- Yod Framework v1.3.5 发布,基于 C 的 PHP 框架
- newlisp 模拟C的uint32_t类型
- C 冒泡排序原理示范
- CYQ.DBImport 数据库反向工程及批量导数据库工具 V1.0 发布
- Alfresco V1.1.2 发布
- MP3bar v1.0 发布
- 发布SnifferFox v1.0
- FastPlanner v1.0 发布!
- BlogBench V1.0.1 发布
- LSGTL v1.0.2发布 : )
- C++学习笔记 | 第二章 变量和基本类型 | (3)
- OJ刷题之《折半查找》
- RBS TUNNING
- 企业级Hadoop 2.x入门系列之六HDFS的Shell操作与管理
- GEngine
- newLISP C++编译示范工程cppwizard v1.2.0发布
- windows下memcached安装
- 海盗分金币
- OJ刷题之《蚂蚁感冒》
- 企业级Hadoop 2.x入门系列之七YARN的Shell操作与管理
- C++类中使用表驱动方案
- 丈夫的出轨短信竟错发给我
- MySQL中TIMESTAMP类型可设置默认值为CURRENT_TIMESTAMP
- 企业级Hadoop 2.x入门系列之八HDFS和YARN的启动方式