autowiring, 一种 C++ 控制框架

分享于 

6分钟阅读

GitHub

  繁體 雙語
A C++ Inversion of Control framework
  • 源代码名称:autowiring
  • 源代码网址:http://www.github.com/leapmotion/autowiring
  • autowiring源代码文档
  • autowiring源代码下载
  • Git URL:
    git://www.github.com/leapmotion/autowiring.git
    Git Clone代码到本地:
    git clone http://www.github.com/leapmotion/autowiring
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/leapmotion/autowiring
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    命令行目

    自动装配是一个用于C++11的inversion-of-control 框架。 它提供了一种通过依赖注入插件来管理资源的声明性方法。 而不是显式地实例化依赖关系,仅仅声明需要的内容,自动装配将管理对象创建和连接。

    生成 Build Status

    使用 CMake 指定装配项目结构。 简单地指向 root 项目目录并生成你想要的项目文件。 C++11/ 目录为平台提供了支持不完全的支持的增强。

    Mac

    使用端口或者安装Mac依赖项。 如果已经安装端口,则将生成项目:

    
    git clone git@github.com:leapmotion/autowiring.git
    
    
    cd autowiring
    
    
    sudo port install cmake
    
    
    cmake. 
    
    
    make
    
    
    make test
    
    
    sudo make install
    
    
    
    

    这将在默认情况下配置项目以生成fat二进制文件。 如果你只希望生成 64位 二进制文件,请使用以下配置命令:

    
    cmake. -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64
    
    
    
    

    Linux

    Unix的命令不同,具体取决于你使用的软件包管理器。 ubuntu管理器很容易得到,OpenSUSE使用 zypper,而CentOS系统使用 yum。 用户的主要区别在于要安装的包有不同的NAME。 对于 Ubuntu,请执行以下操作:

    
    git clone git@github.com:leapmotion/autowiring.git
    
    
    cd autowiring
    
    
    sudo apt-get install cmake
    
    
    cmake. 
    
    
    make
    
    
    make test
    
    
    sudo make install
    
    
    
    

    如果你想为 32位 Linux构建,请运行以下命令:

    
    cmake. -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_C_FLAGS=-m32
    
    
    
    

    Windows

    不幸的是,Windows 没有任何类似的软件包管理器,这要求你自己下载和安装,。 完成之后,这里是需要的咒语,假设你从 MINGW 终端运行( 免费使用 Git扩展插件)。 你还需要 Visual Studio 2012或者更高版本的副本。 其他构建系统可能会工作,但在这里并没有正式支持。

    
    git clone git@github.com:leapmotion/autowiring.git
    
    
    cd autowiring
    
    
    cmake. 
    
    
    
    

    此时,在你的root 目录中有一个名为" autowiring.sln"的解决方案文件,如果你作为管理员运行 Visual Studio,然后构建安装目标,然后将自动装配安装到系统。 通过其他平台,插件可以在通过 find_package 命令安装时找到自动装配。 或者,如果你希望从 命令行 生成,请执行以下操作:

    
    cmake --build. --config Release
    
    
    
    

    arm-linux

    在 arm linux上构建需要使用工具链文件。 自动装配包含这里文件。 若要配置,请使用以下调用:

    
    cmake. -DCMAKE_TOOLCHAIN_FILE=standard/toolchain-arm32.cmake -DCMAKE_PREFIX_PATH:PATH=/your/lib/path
    
    
    
    

    对于 64位 ARMv8 ( AArch64 ),使用 toolchain-arm64.cmake

    Android

    arm linux相似的要求,你必须指定工具链文件。 你还必须指定你的Android工具链目录的路径。 确保更新 /opt/android-standalone-toolchain 指向你真正的Android独立工具链目录。 要构建 64位android系统,请导出环境变量 export ARMv8=true。 如果你不是交叉编译,那么只需运行cmake无选项。

    
    cmake. -DCMAKE_TOOLCHAIN_FILE=standard/toolchain-android.cmake -DLLVM_ANDROID_TOOLCHAIN_DIR=/opt/android-standalone-toolchain
    
    
    
    
    测试

    要将所有自动装配单元测试作为健全检查运行:

    
    bin/AutowiringTest
    
    
    
    

    如果通过valgrind运行,请确保指定公平线程调度,否则某些病理测试案例可能会挂起:

    
    valgrind --fair-sched=yes bin/AutowiringTest
    
    
    
    
    安装

    自动装配使用 CPack,它知道如何使用 rpm/deb/wix/dragndrop,,根据你所在的系统,确定正确的版本。 要在 Windows 上构建安装程序,你必须首先下载 wix工具集。 其他系统在当前系统上安装后,一旦安装了软件包,就可以找到自动装配。

    一般来说,除非你测试出血边缘,否则不需要自己构建安装程序。 发布页面列出了正式支持的自动完成版本。

    ZenHub Badge


    相关文章