vcpkg —— VC++ 打包工具

vcpkg —— VC++ 打包工具

vcpkg 是微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库.

vcpkg 自身也是使用 C++ 开发的 (而其他的 C++ 包管理大多并不是 C++ 开发的),并且 vcpkg 能够帮助用户在 Visual Studio 中,更好的使用这些安装好的库.

vcpkg 整合了 git,构建系统整合的 CMake,而绝大多数的 C++ 项目都可以直接或者间接的方式使用 CMake创建原生项目文件并构建.

vcpkg遵循一下原则:

  • 开放源码
  • 无需安装
  • 支持重发构建
  • 自定义生成
  • 社区参与贡献
  • 端口集成(与 BSD Ports 机制类似)

安装和自举:

git clone https://github.com/Microsoft/vcpkg
cd vcpkg
powershell -exec bypass scripts\bootstrap.ps1

搜索库:

vcpkg search

安装库:

vcpkg install cpprestsdk

查看已安装的库:

vcpkg list

将库集成的 Visual Studio:

vcpkg integrate install

MSDN 介绍博文:

https://blogs.msdn.microsoft.com/vcblog/2016/09/19/vcpkg-a-tool-to-acquire-and-build-c-open-source-libraries-on-windows/

原文:https://github.com/Microsoft/vcpkg/blob/master/README.md#

Vcpkg 

概述

Vcpkg可以帮组你获取Windows平台的C和C++库。这个工具和ecosystem正处于预览阶段。您的参与对vcpkg的成功是非常的重要。

运行vcpkghelp可以获取可用命令的简短描述。

快速教程

要求:

  • Visual Studio 2015 Update 3 or
  • Visual Studio 2017
  • CMake 3.8.0 或更高干部 (备注: 如果你机器上没有找到,将会自动安装到你的机器上)
  • git.exe 加入到path中

克隆vcpkg库

C:\src\>git clone https://github.com/Microsoft/vcpkg.git

然后运行

C:\src\>cd vcpkg

C:\src\vcpkg>.\bootstrap-vcpkg.bat

PS D:\vcpkg> .\bootstrap-vcpkg.bat
用于 .NET Framework 的 Microsoft (R) 生成引擎版本 15.4.8.50001
版权所有(C) Microsoft Corporation。保留所有权利。

生成启动时间为 2017/12/2 0:10:17。
     1>节点 1 上的项目“D:\vcpkg\toolsrc\dirs.proj”(默认目标)。
     1>项目“D:\vcpkg\toolsrc\dirs.proj”(1)正在节点 1 上生成“D:\vcpkg\toolsrc\vcpkg\vcpkg.vcxproj”(2) (Clean 个目标)。
     2>CoreClean:
         正在创建目录“Release\”。
     2>项目“D:\vcpkg\toolsrc\vcpkg\vcpkg.vcxproj”(2)正在节点 1 上生成“D:\vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj”(3) (Clean 个目标)
       。
     3>CoreClean:
         正在创建目录“Release\”。
     3>已完成生成项目“D:\vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj”(Clean 个目标)的操作。
     2>已完成生成项目“D:\vcpkg\toolsrc\vcpkg\vcpkg.vcxproj”(Clean 个目标)的操作。
     1>项目“D:\vcpkg\toolsrc\dirs.proj”(1)正在节点 1 上生成“D:\vcpkg\toolsrc\vcpkgmetricsuploader\vcpkgmetricsuploader.vcxproj”(
       4) (Clean 个目标)。
     4>CoreClean:
         正在创建目录“Release\”。
     4>已完成生成项目“D:\vcpkg\toolsrc\vcpkgmetricsuploader\vcpkgmetricsuploader.vcxproj”(Clean 个目标)的操作。
     1>项目“D:\vcpkg\toolsrc\dirs.proj”(1)正在节点 1 上生成“D:\vcpkg\toolsrc\vcpkg\vcpkg.vcxproj”(2:2) (Build 个目标)。
   2:2>项目“D:\vcpkg\toolsrc\vcpkg\vcpkg.vcxproj”(2:2)正在节点 1 上生成“D:\vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj”(3:4) (默认目标)。
     3>PrepareForBuild:
         正在创建目录“D:\vcpkg\toolsrc\Release\”。
         正在创建目录“Release\vcpkglib.tlog\”。
       InitializeBuildStatus:
         正在创建“Release\vcpkglib.tlog\unsuccessfulbuild”,因为已指定“AlwaysCreate”。
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\CL.exe
          /c /I..\include /Zi /nologo /W3 /WX- /diagnostics:classic /sdl /MP /O2 /Oi /Oy- /GL /D DISABLE_METRICS=0 /D "
         VCPKG_VERSION=-2017-12-01-34d8c77d35089484f66d80299dc6f8303a994a84" /D _MBCS /D NDEBUG /D _MBCS /Gm- /EHsc /MD
          /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yc"pch.h" /Fp"Release\vcpkglib.pch" /Fo"Release\\" /
         Fd"Release\vcpkglib.pdb" /Gd /TP /analyze- /errorReport:queue /std:c++latest ..\src\pch.cpp
         pch.cpp
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\CL.exe
          /c /I..\include /Zi /nologo /W3 /WX- /diagnostics:classic /sdl /MP /O2 /Oi /Oy- /GL /D DISABLE_METRICS=0 /D "
         VCPKG_VERSION=-2017-12-01-34d8c77d35089484f66d80299dc6f8303a994a84" /D _MBCS /D NDEBUG /D _MBCS /Gm- /EHsc /MD
          /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yu"pch.h" /Fp"Release\vcpkglib.pch" /Fo"Release\\" /
         Fd"Release\vcpkglib.pdb" /Gd /TP /analyze- /errorReport:queue /std:c++latest ..\src\vcpkg\base\checks.cpp ..\s
         rc\vcpkg\base\chrono.cpp ..\src\vcpkg\base\cofffilereader.cpp ..\src\vcpkg\base\enums.cpp ..\src\vcpkg\base\fi
         les.cpp ..\src\vcpkg\base\lineinfo.cpp ..\src\vcpkg\base\machinetype.cpp ..\src\vcpkg\base\strings.cpp ..\src         vcpkg\base\system.cpp ..\src\vcpkg\binaryparagraph.cpp ..\src\vcpkg\build.cpp ..\src\vcpkg\commands.autocomple
         te.cpp ..\src\vcpkg\commands.buildexternal.cpp ..\src\vcpkg\commands.cache.cpp ..\src\vcpkg\commands.ci.cpp ..
         \src\vcpkg\commands.contact.cpp ..\src\vcpkg\commands.cpp ..\src\vcpkg\commands.create.cpp ..\src\vcpkg\comman
         ds.dependinfo.cpp ..\src\vcpkg\commands.edit.cpp ..\src\vcpkg\commands.env.cpp ..\src\vcpkg\commands.exportifw
         .cpp ..\src\vcpkg\commands.hash.cpp ..\src\vcpkg\commands.import.cpp ..\src\vcpkg\commands.integrate.cpp ..\sr
         c\vcpkg\commands.list.cpp ..\src\vcpkg\commands.owns.cpp ..\src\vcpkg\commands.portsdiff.cpp ..\src\vcpkg\comm
         ands.search.cpp ..\src\vcpkg\commands.version.cpp ..\src\vcpkg\dependencies.cpp ..\src\vcpkg\export.cpp ..\src
         \vcpkg\globalstate.cpp ..\src\vcpkg\help.cpp ..\src\vcpkg\input.cpp ..\src\vcpkg\install.cpp ..\src\vcpkg\metr
         ics.cpp ..\src\vcpkg\packagespec.cpp ..\src\vcpkg\packagespecparseresult.cpp ..\src\vcpkg\paragraphparseresult
         .cpp ..\src\vcpkg\paragraphs.cpp ..\src\vcpkg\parse.cpp ..\src\vcpkg\postbuildlint.buildtype.cpp ..\src\vcpkg         postbuildlint.cpp ..\src\vcpkg\remove.cpp ..\src\vcpkg\sourceparagraph.cpp ..\src\vcpkg\statusparagraph.cpp ..
         \src\vcpkg\statusparagraphs.cpp ..\src\vcpkg\triplet.cpp ..\src\vcpkg\update.cpp ..\src\vcpkg\vcpkgcmdargument
         s.cpp ..\src\vcpkg\vcpkglib.cpp ..\src\vcpkg\vcpkgpaths.cpp ..\src\vcpkg\versiont.cpp
         checks.cpp
         chrono.cpp
         cofffilereader.cpp
         enums.cpp
         files.cpp
         lineinfo.cpp
         machinetype.cpp
         strings.cpp
         system.cpp
         binaryparagraph.cpp
         build.cpp
         commands.autocomplete.cpp
         commands.buildexternal.cpp
         commands.cache.cpp
         commands.ci.cpp
         commands.contact.cpp
         commands.cpp
         commands.create.cpp
         commands.dependinfo.cpp
         commands.edit.cpp
         commands.env.cpp
         commands.exportifw.cpp
         commands.hash.cpp
         commands.import.cpp
         commands.integrate.cpp
         commands.list.cpp
         commands.owns.cpp
         commands.portsdiff.cpp
         commands.search.cpp
         commands.version.cpp
         dependencies.cpp
         export.cpp
         globalstate.cpp
         help.cpp
         input.cpp
         install.cpp
         metrics.cpp
         packagespec.cpp
         packagespecparseresult.cpp
         paragraphparseresult.cpp
         paragraphs.cpp
         parse.cpp
         postbuildlint.buildtype.cpp
         postbuildlint.cpp
         remove.cpp
         sourceparagraph.cpp
         statusparagraph.cpp
         statusparagraphs.cpp
         triplet.cpp
         update.cpp
         vcpkgcmdarguments.cpp
         vcpkglib.cpp
         vcpkgpaths.cpp
         versiont.cpp
       Lib:
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\Lib.ex
         e /OUT:"D:\vcpkg\toolsrc\Release\vcpkglib.lib" /NOLOGO /LTCG Release\pch.obj
         Release\checks.obj
         Release\chrono.obj
         Release\cofffilereader.obj
         Release\enums.obj
         Release\files.obj
         Release\lineinfo.obj
         Release\machinetype.obj
         Release\strings.obj
         Release\system.obj
         Release\binaryparagraph.obj
         Release\build.obj
         Release\commands.autocomplete.obj
         Release\commands.buildexternal.obj
         Release\commands.cache.obj
         Release\commands.ci.obj
         Release\commands.contact.obj
         Release\commands.obj
         Release\commands.create.obj
         Release\commands.dependinfo.obj
         Release\commands.edit.obj
         Release\commands.env.obj
         Release\commands.exportifw.obj
         Release\commands.hash.obj
         Release\commands.import.obj
         Release\commands.integrate.obj
         Release\commands.list.obj
         Release\commands.owns.obj
         Release\commands.portsdiff.obj
         Release\commands.search.obj
         Release\commands.version.obj
         Release\dependencies.obj
         Release\export.obj
         Release\globalstate.obj
         Release\help.obj
         Release\input.obj
         Release\install.obj
         Release\metrics.obj
         Release\packagespec.obj
         Release\packagespecparseresult.obj
         Release\paragraphparseresult.obj
         Release\paragraphs.obj
         Release\parse.obj
         Release\postbuildlint.buildtype.obj
         Release\postbuildlint.obj
         Release\remove.obj
         Release\sourceparagraph.obj
         Release\statusparagraph.obj
         Release\statusparagraphs.obj
         Release\triplet.obj
         Release\update.obj
         Release\vcpkgcmdarguments.obj
         Release\vcpkglib.obj
         Release\vcpkgpaths.obj
         Release\versiont.obj
         vcpkglib.vcxproj -> D:\vcpkg\toolsrc\Release\vcpkglib.lib
       FinalizeBuildStatus:
         正在删除文件“Release\vcpkglib.tlog\unsuccessfulbuild”。
         正在对“Release\vcpkglib.tlog\vcpkglib.lastbuildstate”执行 Touch 任务。
     3>已完成生成项目“D:\vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj”(默认目标)的操作。
     2>PrepareForBuild:
         正在创建目录“Release\vcpkg.tlog\”。
       InitializeBuildStatus:
         正在创建“Release\vcpkg.tlog\unsuccessfulbuild”,因为已指定“AlwaysCreate”。
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\CL.exe
          /c /I..\include /Zi /nologo /W3 /WX- /diagnostics:classic /sdl /MP /O2 /Oi /Oy- /GL /D _MBCS /D NDEBUG /D _MB
         CS /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Release\\" /Fd"Release\vc141.pdb
         " /Gd /TP /analyze- /errorReport:queue /std:c++latest ..\src\vcpkg.cpp
         vcpkg.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\link.e
         xe /ERRORREPORT:QUEUE /OUT:"D:\vcpkg\toolsrc\Release\vcpkg.exe" /NOLOGO winhttp.lib version.lib kernel32.lib u
         ser32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.
         lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.li
         b oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level=‘asInvoker‘ uiAccess=‘false‘" /m
         anifest:embed /DEBUG:FULL /PDB:"D:\vcpkg\toolsrc\Release\vcpkg.pdb" /OPT:REF /OPT:ICF /LTCG:incremental /TLBID
         :1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:\vcpkg\toolsrc\Release\vcpkg.lib" /MACHINE:X86 /SAFESEH Release\vcpkg.obj
         D:\vcpkg\toolsrc\Release\vcpkglib.lib
         正在生成代码
         All 11899 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
         已完成代码的生成
         vcpkg.vcxproj -> D:\vcpkg\toolsrc\Release\vcpkg.exe
       FinalizeBuildStatus:
         正在删除文件“Release\vcpkg.tlog\unsuccessfulbuild”。
         正在对“Release\vcpkg.tlog\vcpkg.lastbuildstate”执行 Touch 任务。
     2>已完成生成项目“D:\vcpkg\toolsrc\vcpkg\vcpkg.vcxproj”(Build 个目标)的操作。
     1>项目“D:\vcpkg\toolsrc\dirs.proj”(1)正在节点 1 上生成“D:\vcpkg\toolsrc\vcpkgmetricsuploader\vcpkgmetricsuploader.vcxproj”(
       4:2) (Build 个目标)。
     4>PrepareForBuild:
         正在创建目录“Release\vcpkgmet.7D6FDEEB.tlog\”。
       InitializeBuildStatus:
         正在创建“Release\vcpkgmet.7D6FDEEB.tlog\unsuccessfulbuild”,因为已指定“AlwaysCreate”。
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\CL.exe
          /c /I..\include /Zi /nologo /W3 /WX- /diagnostics:classic /sdl /MP /O2 /Oi /Oy- /GL /D _MBCS /D NDEBUG /D _MB
         CS /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Release\\" /Fd"Release\vc141.pdb
         " /Gd /TP /analyze- /errorReport:queue /std:c++latest ..\src\vcpkgmetricsuploader.cpp
         vcpkgmetricsuploader.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\link.e
         xe /ERRORREPORT:QUEUE /OUT:"D:\vcpkg\toolsrc\Release\vcpkgmetricsuploader.exe" /NOLOGO winhttp.lib version.lib
          kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib u
         uid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell
         32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level=‘asInvoker‘ uiAcc
         ess=‘false‘" /manifest:embed /DEBUG:FULL /PDB:"D:\vcpkg\toolsrc\Release\vcpkgmetricsuploader.pdb" /OPT:REF /OP
         T:ICF /LTCG:incremental /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:\vcpkg\toolsrc\Release\vcpkgmetricsuploader
         .lib" /MACHINE:X86 /SAFESEH Release\vcpkgmetricsuploader.obj
         D:\vcpkg\toolsrc\Release\vcpkglib.lib
         正在生成代码
         All 1535 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
         已完成代码的生成
         vcpkgmetricsuploader.vcxproj -> D:\vcpkg\toolsrc\Release\vcpkgmetricsuploader.exe
       FinalizeBuildStatus:
         正在删除文件“Release\vcpkgmet.7D6FDEEB.tlog\unsuccessfulbuild”。
         正在对“Release\vcpkgmet.7D6FDEEB.tlog\vcpkgmetricsuploader.lastbuildstate”执行 Touch 任务。
     4>已完成生成项目“D:\vcpkg\toolsrc\vcpkgmetricsuploader\vcpkgmetricsuploader.vcxproj”(Build 个目标)的操作。
     1>已完成生成项目“D:\vcpkg\toolsrc\dirs.proj”(默认目标)的操作。

已成功生成。
    0 个警告
    0 个错误

已用时间 00:00:28.30

然后,运行如下命令使计算机的所有用户都可以使用vcpkg (备注:需要管理员权限)

C:\src\vcpkg> .\vcpkg integrate install

PS D:\vcpkg> .\vcpkg integrate install
Applied user-wide integration for this vcpkg root.

All MSBuild C++ projects can now #include any installed libraries.
Linking will be handled automatically.
Installing new libraries will make them instantly available.

CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake"

使用vcpkg安装任何的程序包,如:

C:\src\vcpkg> .\vcpkginstall sdl2 curl

最后,在Visual Studio 2015 or Visual Studio 2017创建新的项目或者打开已经存在的项目。你就可以使用#include引用头文件并使用安装的程序库。

示例sqlite

安装

查询sqlite对应的名称

vcpkg.exe search sqlite
libodb-sqlite        2.4.0            Sqlite support for the ODB ORM library
sqlite3              3.15.0           SQLite is a software library that implements a se...

If your library is not listed, please open an issue at:
    https://github.com/Microsoft/vcpkg/issues

然后安装sqlite3

vcpkg.exe install sqlite3
-- CURRENT_INSTALLED_DIR=D:/vcpkg/installed/x86-windows
-- DOWNLOADS=D:/vcpkg/downloads
-- CURRENT_PACKAGES_DIR=D:/vcpkg/packages/sqlite3_x86-windows
-- CURRENT_BUILDTREES_DIR=D:/vcpkg/buildtrees/sqlite3
-- CURRENT_PORT_DIR=D:/vcpkg/ports/sqlite3/.
-- Downloading https://sqlite.org/2016/sqlite-amalgamation-3150000.zip...
-- Downloading https://sqlite.org/2016/sqlite-amalgamation-3150000.zip... OK
-- Testing integrity of downloaded file...
-- Testing integrity of downloaded file... OK
-- Extracting source D:/vcpkg/downloads/sqlite-amalgamation-3150000.zip
-- Extracting done
-- Configuring x86-windows-rel
-- Configuring x86-windows-rel done
-- Configuring x86-windows-dbg
-- Configuring x86-windows-dbg done
-- Build x86-windows-rel
-- Build x86-windows-rel done
-- Build x86-windows-dbg
-- Build x86-windows-dbg done
-- Package x86-windows-rel
-- Package x86-windows-rel done
-- Package x86-windows-dbg
-- Package x86-windows-dbg done
-- Warning: Could not find a matching pdb file for:
    D:/vcpkg/packages/sqlite3_x86-windows/bin/sqlite3.dll
    D:/vcpkg/packages/sqlite3_x86-windows/debug/bin/sqlite3.dll

-- Performing post-build validation
-- Performing post-build validation done
Package sqlite3:x86-windows is installed

确认是否安装成功

vcpkg.exe list

安装64位版本

vcpkg.exe install sqlite3:x64-windows

使用

打开Visual Studio 2015 新建工程,main.cpp如下

#include <sqlite3.h>
#include <stdio.h>

int main(int argc,char** argv)
{
    printf("%s\n",sqlite3_libversion()):
    return 0;
}

编译运行

FAQ

  • 是否支持Visual Studio 2010 ?
    否,后续我会介绍Vcpkg用到的“知识点”,可以为Visual Studio 2010开发相应工具提供借鉴。
  • 是否支持静态编译库
    是,例如vcpkg.exe install xxx:x86-windows-static
  • 没有我需要的库怎么办
    自己写,后续我会介绍如何向Vcpkg新增库
时间: 2024-08-06 22:15:15

vcpkg —— VC++ 打包工具的相关文章

win10 + vs2017 + vcpkg —— VC++ 打包工具

vcpkg 是微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库. vcpkg 自身也是使用 C++ 开发的 (而其他的 C++ 包管理大多并不是 C++ 开发的),并且 vcpkg 能够帮助用户在 Visual Studio 中,更好的使用这些安装好的库. vcpkg 整合了 git,构建系统整合的 CMake,而绝大多数的 C++ 项目都可以直接或者间接的方式使用 CMake创建原生项目文件并构建.

细说前端自动化打包工具--webpack

背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.做网页就和用world编辑一个文档一样,只不过那个工具叫Dreamweaver.一个html页面,夹杂着css,javascript是再常见不过的事了. 随着前端的不断发展,特别是单页应用的兴起,这种所见即所得的IDE工具,就渐渐地退出了前端的主流.一个应用,通常只有一个静态页面(index.html),甚至这个页面的body只有一个或少数几个div组成.这时有

OTA Update官方文档(二,OTA 打包工具)

写在前面: OTA打包工具ota_from_target_files(build/tools/releasetools/目录下)可以为我们创建两种类型的更新包:整包和增量包.打包工具一般来说会对我们称之为目标文件(target-files.zip)进行打包,该目标文件是有Android编译系统产生,通常可在终端下使用make otapackage生成. 一.整包升级 一个整包包含了Android设备的整个终态(system/boot/recovery分区),只要设备可以接收更新包并且进入reco

Inno Setup 打包工具总结

Inno Setup 打包工具总结 分类: Install Setup 2013-02-02 15:44 2386人阅读 评论(0) 收藏 举报 最近打包用到了Inno setup,在这个过程中容易犯一些低级错误,特别写出来已提醒自己 1.打包文件夹 Source: "D:MyProject/XX/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs 它解压时直接把XX目

Atitit.项目修改补丁打包工具 使用说明

1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1.4. 打包工具.bat源码以及参数解释1 1.1. 打包工具已经在群里面.打包工具.bat .    1.2. 使用方法:放在项目主目录下,执行即可 注意里面的项目路径,数据库安装路径安装实际的路径来配置下 1.3. 打包工具的原理以及要打包的项目列表 主要利用winrar根据时间打包修改过的文件,打包数据库sql文件则是  调用数据库工具变成

【Cocos2d-Js基础教学(5)资源打包工具的使用及资源的异步加载处理】

[转载]http://www.cnblogs.com/zisou/p/cocos2dx-js5.html   TexturePacker是纹理资源打包工具,支持Cocos2dx的游戏资源打包. 如果用过的同学可以直接看下面的资源的异步加载处理 首先为什么用TexturePacker? 1,节省图片资源实际大小 2,减少我们游戏中大量资源带来的内存负荷 3,方便游戏对纹理资源的内存管理 游戏开发到后期,我们或许都会遇到的瓶颈就是需要对游戏包进行"瘦身"和内存优化.那么使用TextureP

tar 打包工具详解

tar 本身为一个打包工具,可以把目录打包成一个文件,它的好处是把所有文件整合成一个大文件整体,便于拷贝或移动. 语法:tar [-zjxcvfpP] filename tar 目录有多个选项: -z:同时用gzip压缩 -j:同时用bzip2压缩 -x:解包或者解压缩 -t:查看 tar 包里面的文件 -c:建立一个 tar 包或者压缩文件包 -v:可视化 -f:后面跟文件名,压缩时跟"-f 文件名",意思是压缩后的文件名为filename,解压时跟"-f 文件名"

[转]Python打包工具

作者:Tarek Ziadé,翻译:张吉 原文:http://www.aosabook.org/en/packaging.html 转载地址:http://www.ituring.com.cn/article/19090 14.1 简介 对于如何安装软件,目前有两种思想流派.第一种是说软件应该自给自足,不依赖于其它任何部件,这点在Windows和Mac OS X系统中很流行.这种方式简化了软件的管理:每个软件都有自己独立的“领域”,安装和卸载它们不会对操作系统产生影响.如果软件依赖一项不常见的类

iOS 本地自动打包工具

1.为什么要自动打包工具? 每修改一个问题,测试都让你打包一个上传fir , 你要clean -> 编译打包 -> 上传fir -> 通知测试.而且打包速度好慢,太浪费时间了.如果有一个工具能自动的帮你做完上面所有的事情,岂不是快哉? 2.网上有那么多自动打包工具,我直接下载就行了为啥还要学习? 没错网上有很多打包工具,包括github上也有一些直接从github下载并打包上传的,但是他们的不一定适合你,首先下载下来要配置各种参数,不会配,还有网上大多是针对普通项目,但是我们项目是coc