cmake: 使用jom实现msvc工程并发编译提高速度(-j)
来源:互联网 发布:淘宝线下推广计划 编辑:程序博客网 时间:2024/06/03 17:41
msvc提供的nmake并没有并发编译功能(类似gcc make的-j参数指定并发编译的任务数),
而第三方工具jom(http://wiki.qt.io/Jom)解决了这个问题,jom可以像gcc 的make一样 通过-j参数指定并发编译,让cpu全速运行,可以大大提高编译速度,节省大型项目的编译时间。
cmake也支持jom编译,cmake 有一个名为”NMake Makefiles JOM”的CMake Generator就是用来生成jom格式的Makefile.下面以编译gflags为例说明jom编译的使用方法
获取jom
访问jom官网(http://wiki.qt.io/Jom)下载jom 的二进制压缩包解压到本地的文件夹,jom就算是安装好了(jom很小,只有5个文件)
cmake
将jom所在文件夹加到PATH环境变量
set path=d:\caffe-static\tools\jom-1.1.2;%path%
生成jom的Makefile
gflags_source_folder>cmake -G "NMake Makefiles JOM" .
如果不把jom的路径加到%PATH%中,也可以如下通过 定义CMAKE_MAKE_PROGRAM变量来指定jom.exe的位置
gflags_source_folder>cmake -G "NMake Makefiles JOM" -DCMAKE_MAKE_PROGRAM=d:\jom-1.1.2\jom.exe .
然后就可以如下使用jom编译了, -j参数用于指定并发任务数
gflags_source_folder>jom -j 8
补记:
其实MSVC提供的MSBuild.exe和devenv.exe,也提供了并发编译功能,只是参数调用不同,稍显复杂。
以下是MSBuild的maxcpucount参数说明:
/maxcpucount[:n] 指定用于生成的最大 并发进程数。如果未使用开关,则使用的默认值 为 1。如果使用开关时不带值, MSBuild 将最多使用计算机上的 处理器数。(缩写: /m[:n])
devenv.exe 默认就是并发编译的
阅读全文
0 0
- cmake: 使用jom实现msvc工程并发编译提高速度(-j)
- Qt使用多核(jom)加快编译速度
- Qt Creator 使用技巧之提高编译速度【使用jom参数】
- QT小知识点(3) -Qt Creator 使用技巧之提高编译速度【使用jom参数】
- 三、使用 CMAKE 编译工程
- 如何提高大型工程的编译速度?
- linux多核处理下提高编译速度 make -j
- linux多核处理下提高编译速度 make -j
- msvc实现自动编译
- 使用cmake编译protobuf生成vs2010工程
- cmake:msvc编译第三方库时使用/MT静态库连接c/c++ runtime library
- 并发问题----提高速度
- cmake编译工程列子
- cmake编译工程实例
- 使用msvc 编译 ffmpeg 1.1
- 使用msvc编译的rustc
- FreeRTOSv9.0.0版本WIN32-MSVC工程使用VisualStudio2012编译报错解决
- 在Android中使用并发来提高速度和性能
- Boosst.assert库的简单尝试
- 考研英语
- sql server 使用循环和临时表处理数据 而不用游标
- 600X笔记 (week-5 效率与增长量级 内存与查找)
- 0025_Reverse Nodes in k-Group
- cmake: 使用jom实现msvc工程并发编译提高速度(-j)
- Activity启动流程、Window创建流程
- Link11战术数据链基础知识
- POJ 1066 Treasure Hunt(线段相交判断)
- Codeforces Round #414 C. Naming Company 贪心
- LLDB调试
- 简单易懂的github使用教程
- Window显示流程
- 框架和原生