文档章节

Portable_dev Win32C++开发环境包 mingw+clang+boost+vim

htfy96
 htfy96
发布于 2015/01/30 22:35
字数 1247
阅读 186
收藏 0

Portable_dev 发行包说明

2015/1/28

您好,感谢使用本人打包制作的Portable_dev发行包,它是一个32位的POSIX工具链及其它开发工具的集合,包含了MinGW、MSYS、GVim、boost与Python2几个套件的绝大部分,并进行了必要的配置。Msys中的Vim已经去除以减小体积。

安装说明

请不要将目录放在任何名称中含有空格的路径中!特别在XP不要放到桌面和我的文档等位置,否则无法正常安装!

运行green.bat并根据提示操作,由于环境问题,可能会出现PATH添加缺失的情况。可以手动运行我的电脑 – 属性 - (高级系统设置) - 高级 – 环境变量,将mingw\bin的完整路径、llvm\bin的完整路径和MinGW\msys\1.0\bin的完整路径以;间隔加入PATH变量中。之后PATH应如下:

C:\Python27\;C:\Python27\Scripts;E:\Portable_dev\MinGW\bin;E:\Portable_dev\LLVM\bin; E:\Portable_dev\MinGW\msys\1.0\bin(后略)




之后 重启,Win+R运行cmd,输入clang -v回车,如果输出如下基本证明安装无误:

clang version 3.5.0 (217039)
Target: i686-pc-windows-gnu
Thread model: posix




此时桌面应该已经生成了vim的相关图标, 尝试一下是否成功吧。

版本参考

工具 版本
gcc 4.8.1-4
make 3.82
autoconf 2.13/2.68
gVim 7.4
clang 3.5
boost 1.57

简要介绍

根目录

python-2.7.9.exe

32位的Python安装包,最好按默认目录安装在C盘下

green.bat

安装设置PATH的一个绿色脚本,但是似乎有一定可能出现问题,请对照上面安装步骤自行检查

Mingw

MinGW4.8.1-4 32位官方版本,安装了绝大多数的组件。特别在bin目录下整合了微软的ml和link汇编编译和解释器,经测试可正确编译boost库。

llvm

llvm3.5官方32位Windows安装包,包含了clang编译器,默认不带STL,将常见STL头文件从MinGW复制到了其搜索目录下,这样编译普通程序STL时无需另行配置了。

vim

官方vim7.4版本,进行了大量的定制以适应需求,配置见下。

boost157

Boost1.57版本,已由本套件带的mingw编译完毕,编译的库在boost\stage\lib下,命名规则及含义请参考这里

用于你自己的开发

MinGW本身无需另外配置,只要保证上面几个目录正确添加到了PATH就行了。

Clang一般情况下也只要配置PATH,特殊情况下可能需要加入-I Portable_dev的完整

路径\MinGW\lib\gcc\mingw32\4.8.1\include\c++的参数以使用STL(几率小)。

Vim配置文件在vim\_vimrc中。

boost库已经预编译了全部版本,在其他地方使用需要给编译器加上如下参数:

-I Portable_dev完整路径\boost157\boost                              \
-L Portable_dev完整路径\boost157\boost\stage\lib                    \
-lboost_regex-mgw48-mt-s-1_57 -lboost_wserialization-mgw48-mt-s-1_57 -lboost_wave-mgw48-mt-s-1_57 -lboost_unit_test_framework-mgw48-mt-s-1_57 -lboost_timer-mgw48-mt-s-1_57 -lboost_thread-mgw48-mt-s-1_57 -lboost_test_exec_monitor-mgw48-mt-s-1_57 -lboost_system-mgw48-mt-s-1_57 -lboost_signals-mgw48-mt-s-1_57 -lboost_serialization-mgw48-mt-s-1_57 -lboost_random-mgw48-mt-s-1_57 -lboost_python-mgw48-mt-s-1_57 -lboost_program_options-mgw48-mt-s-1_57 -lboost_prg_exec_monitor-mgw48-mt-s-1_57 -lboost_math_tr1-mgw48-mt-s-1_57 -lboost_math_tr1l-mgw48-mt-s-1_57 -lboost_math_tr1f-mgw48-mt-s-1_57 -lboost_math_c99-mgw48-mt-s-1_57 -lboost_math_c99l-mgw48-mt-s-1_57 -lboost_math_c99f-mgw48-mt-s-1_57 -lboost_log-mgw48-mt-s-1_57 -lboost_log_setup-mgw48-mt-s-1_57 -lboost_locale-mgw48-mt-s-1_57 -lboost_iostreams-mgw48-mt-s-1_57 -lboost_graph-mgw48-mt-s-1_57 -lboost_filesystem-mgw48-mt-s-1_57 -lboost_exception-mgw48-mt-s-1_57 -lboost_date_time-mgw48-mt-s-1_57 -lboost_coroutine-mgw48-mt-s-1_57 -lboost_context-mgw48-mt-s-1_57 -lboost_container-mgw48-mt-s-1_57 -lboost_chrono-mgw48-mt-s-1_57 -lboost_atomic-mgw48-mt-s-1_57                            \
 -Wl,--allow-multiple-definition






Vim配置

本包对Vim进行了一定的配置。

插件列表

  • Tagbar
  • SuperTab
  • Minibuf
  • NERDTree
  • Syntastic
  • conque_gdb (有bug)
  • Airline
  • pathogen
  • Clang_complete

注意事项

  • SuperTab默认Tab行为已被改写成Clang_complete,同时vimfiles\tag目录下保留了tag
  • Conque_gdb存在bug
  • 保存时会自动检查语法错误
  • 由于XP不支持长命令调用,故VIM实际链接Boost库时只保留了上述链接中的常用部分,若Boost库使用时出错请尝试更改vim\_vimrc中的链接部分

快捷键

  • (插入模式)Alt + hjkl移动
  • Alt+d关闭buffer
  • Alt+nAlt+p下一条/上一条错误
  • F8关闭/启用Tagbar
  • Ctrl+F9纯编译生成.o
  • Ctrl+F10编译+链接生成.exe(可能需要运行两次 第一次有可能报错
  • F4运行exe
  • Ctrl+F4运行gdb exe调试
  • Ctrl+F2当前目录递归生成tags
  • Ctrl+F3当前文件生成tags
  • Alt+e在边栏打开gdb调试当前文档(bug 暂时无法使用)
  • Tab自动补全

版权信息

所含程序依据各自的许可证发布。

作为本套件整体转载时需注明来源,在注明改动下可自由再次修改打包发行。

© 著作权归作者所有

htfy96
粉丝 8
博文 5
码字总数 10027
作品 0
闵行
程序员
私信 提问
ubuntu升级 openssh

ubuntu 16.04 的openssh 版本是7.2,会有一些安全问题。需要升级到7.4版本以上。 openssh依赖 libssl-dev zlib1g-dev。离线安装需要将这几个包下载下来。同时需要下载libssl包作为libssl-de...

李有常
2018/07/25
947
0
maven profile的使用

程序员在开发的过程中,经常需要面对不同的运行环境(开发环境、测试环境、生产环境、内网环境、外网环境等等),在不同的环境中,相关的配置一般不一样,比如数据源配置、日志文件配置、以及...

zqbx7
2017/03/15
0
0
ubuntu 上的Qt和GTK开发

配置基础开发环境GCC 刚装好的系统中已经有GCC了,但是这个GCC几乎什么文件都不能编译,因为缺少一些必须的头文件,所以要安装build-essential这个软件包。 可以在新立得里面搜索build-essen...

Jian-Yong
2011/04/30
789
0
maven利用Profile构建不同环境的部署包

在开发的过程中,经常需要面对不同的运行环境(开发环境、测试环境、准发布环境、生产环境等等),在不同的环境中,相关的配置一般是不一样的,比如数据源配置、用户名密码配置、以及一些软件...

醉公子
2016/08/17
242
0
搭建我的网站的mobile版的开发环境

image.png 之前我已经搭建过一个开发移动web的react开发环境,在那时我就已经想把我的极客教程弄一个手机上体验好的web app,无奈公司业务太多,整天忙着赶项目,下班回去的时候疲惫不堪,已...

极客教程
2017/10/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Replugin借助“UI进程”来快速释放Dex

public static boolean preload(PluginInfo pi) { if (pi == null) { return false; } // 借助“UI进程”来快速释放Dex(见PluginFastInstallProviderProxy的说明) return PluginFastInsta......

Gemini-Lin
47分钟前
4
0
Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0
CSS--属性

一、溢出 当内容多,元素区域小的时候,就会产生溢出效果,默认是纵向溢出 横向溢出:在内容和容器之间再套一层容器,并且内部容器要比外部容器宽 属性:overflow/overflow-x/overflow-y 取值...

wytao1995
今天
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
7
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部