精华内容
下载资源
问答
  • configure配置安装详解

    万次阅读 2016-10-28 19:25:59
    源码中只有一个configure的可运行得配置脚本,之前用过,没有详细了解,今天去网上查阅资料,以下是整理的一些心得笔记。 首先让我们先来了解一下configure这个文件的作用。 Linux环境下的软件安装,并不是一...

    由于最近项目需要在HMI层生成二维码,所以去网上找了第三方开源库。可是下载下来里面都是源码,没有动态库或者静态库,所以就需要自己去编译生成。源码库中只有一个configure的可运行得配置脚本,之前用过,没有详细了解,今天去网上查阅资料,以下是整理的一些心得笔记。


    首先让我们先来了解一下configure这个文件的作用。


    Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后再安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。

    configure它是个shell脚本,主要用于编译安装源代码库和软件。 ./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,比如加上 –with、–enable、–without、–disable 等等参数对编译加以控制,检查当前的环境是否满足要安装软件的依赖关系,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC。生成makefile文件,以便你可以用make和make install来编译和安装程序,最后运行make clean删除一些临时文件。
    首先我们可以使用 ./configure  --help 就可以查看到所有的配置选项。下面我们对一些重要的常见的进行介绍:
    Defaults for the options are specified in brackets.
    
    Configuration:
      -h, --help              display this help and exit
          --help=short        display options specific to this package
          --help=recursive    display the short help of all the included packages
      -V, --version           display version information and exit
      -q, --quiet, --silent   do not print `checking ...' messages
          --cache-file=FILE   cache test results in FILE [disabled]
      -C, --config-cache      alias for `--cache-file=config.cache'
      -n, --no-create         do not create output files
          --srcdir=DIR        find the sources in DIR [configure dir or `..']
    
    Installation directories:
      --prefix=PREFIX         install architecture-independent files in PREFIX
                              [/usr/local]
      --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                              [PREFIX]
    
    By default, `make install' will install all the files in
    `/usr/local/bin', `/usr/local/lib' etc.  You can specify
    an installation prefix other than `/usr/local' using `--prefix',
    for instance `--prefix=$HOME'.
    
    For better control, use the options below.
    
    Fine tuning of the installation directories:
      --bindir=DIR            user executables [EPREFIX/bin]
      --sbindir=DIR           system admin executables [EPREFIX/sbin]
      --libexecdir=DIR        program executables [EPREFIX/libexec]
      --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
      --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
      --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
      --libdir=DIR            object code libraries [EPREFIX/lib]
      --includedir=DIR        C header files [PREFIX/include]
      --oldincludedir=DIR     C header files for non-gcc [/usr/include]
      --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
      --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
      --infodir=DIR           info documentation [DATAROOTDIR/info]
      --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
      --mandir=DIR            man documentation [DATAROOTDIR/man]
      --docdir=DIR            documentation root [DATAROOTDIR/doc/qrencode]
      --htmldir=DIR           html documentation [DOCDIR]
      --dvidir=DIR            dvi documentation [DOCDIR]
      --pdfdir=DIR            pdf documentation [DOCDIR]
      --psdir=DIR             ps documentation [DOCDIR]
    
    Program names:
      --program-prefix=PREFIX            prepend PREFIX to installed program names
      --program-suffix=SUFFIX            append SUFFIX to installed program names
      --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
    
    System types:
      --build=BUILD     configure for building on BUILD [guessed]
      --host=HOST       cross-compile to build programs to run on HOST [BUILD]
      --target=TARGET   configure for building compilers for TARGET [HOST]
    
    Optional Features:
      --disable-option-checking  ignore unrecognized --enable/--with options
      --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
      --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
      --enable-silent-rules   less verbose build output (undo: "make V=1")
      --disable-silent-rules  verbose build output (undo: "make V=0")
      --enable-static[=PKGS]  build static libraries [default=no]
      --enable-dependency-tracking
                              do not reject slow dependency extractors
      --disable-dependency-tracking
                              speeds up one-time build
      --enable-shared[=PKGS]  build shared libraries [default=yes]
      --enable-fast-install[=PKGS]
                              optimize for fast installation [default=yes]
      --disable-libtool-lock  avoid locking (might break parallel builds)
      --enable-thread-safety  make the library thread-safe. [default=yes]
      --disable-sdltest       Do not try to compile and run a test SDL program
      --disable-rpath         do not hardcode runtime library paths
      --enable-gprof          generate extra code to write profile information
                              suitable for gprof [default=no]
      --enable-gcov           generate extra code to write coverage information
                              suitable for gcov [default=no]
      --enable-mudflap        generate extra code to check memory leaks
                              [default=no]
    
    Optional Packages:
      --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
      --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
      --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                              both]
      --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
      --with-sysroot=DIR Search for dependent libraries within DIR
                            (or the compiler's sysroot if not specified).
      --with-tools            build utility tools [default=yes]
      --with-tests            build tests [default=no]
      --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)
      --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)
      --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
      --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
      --without-libiconv-prefix     don't search for libiconv in includedir and libdir
    
    Some influential environment variables:
      CC          C compiler command
      CFLAGS      C compiler flags
      LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                  nonstandard directory <lib dir>
      LIBS        libraries to pass to the linker, e.g. -l<library>
      CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
                  you have headers in a nonstandard directory <include dir>
      CPP         C preprocessor
      PKG_CONFIG  path to pkg-config utility
      PKG_CONFIG_PATH
                  directories to add to pkg-config's search path
      PKG_CONFIG_LIBDIR
                  path overriding pkg-config's built-in search path
      png_CFLAGS  C compiler flags for png, overriding pkg-config
      png_LIBS    linker flags for png, overriding pkg-config
    
    Use these variables to override the choices made by `configure' or to help
    it to find libraries and programs with nonstandard names/locations.
    


    1、--host=HOST
    指定软件运行的系统平台.如果没有指定,将会运行`config.guess'来检测.--host 指定的是交叉编译工具链的前缀

    2、--build=BUILD
    指定软件包安装的系统平台,如当前我们是在intel的pentium机器中编译该系统,那么我们的--build就可能
    是i686-pc-linux-gnu,.如果没有指定,默认值将是'--host'选项的值.


    3、--target=GARGET
    指定软件面向(target to)的系统平台.这主要在程序语言工具如编译器和汇编器上下文中起作用.如果没有指定,默认将使用'--host'选项的值. 

    一般而言,我们只要指定 --host 就可以了,--build和--host不同的时候就被配置文件认定为进行交叉编译,否则就是表示本地编译。
    从这三个参数的含义来看,说明其处理的目标只有在不同平台下表现为不同的时候才有作用,而这些文件通常都跟目标平台的指令系统直接或间接关:比如可执行文件,对于不同平台下使用的可执行文件的编码可以是完全不同的,因此必须使用 对应能处理该编码的程序才能正确处理,而如果错误的使用则可能导致程序错误或者破坏文件,对于这样要处理不同平台下会 出现不同编码的软件,我们就应当对它指定目标平台,以免另其错误处理;而对于文本文件,对于不同的平台同样的内容表达的 含义都是相同的,因此我们不需要专门针对平台来处理,这样的软件我们就可以不必对它指定需要处理的平台了。
    在交叉编译之后,可以用file *** 指令,查看生成的文件的类型,如果不对的话,就可以去查看config.log文件,看看有没有找到相应的编译工具链。


    4、-enable-FEATURE[=ARG]
    相反的,一些软件包可能提供了一些默认被禁止的特性,可以使用'--enable-FEATURE'来起用它.这里'FEATURE'是特性的名字.一个特性可能会接受一个可选的参数.例如:
    $ ./configure --enable-buffers=128

    5、`--enable-FEATURE=no'与上面提到的'--disable-FEATURE'是同义的.

    --enable-static:生成静态链接库

    --enable-shared:生成动态链接库

    这两个用来选择生成是静态库还是动态库,但是我配置了无效,具体我也不知道为什么,希望有了解的不吝赐教。

    6、'--with-PACKAGE[=ARG]'
    在自由软件社区里,有使用已有软件包和库的优秀传统.当用'configure'来配置一个源码树时,可以提供其他已经安装的软件包的信息.例如,倚赖于Tcl和Tk的BLT器件工具包.要配置BLT,可能需要给'configure'提供一些关于我们把Tcl和Tk装的何处的信息: 
    $ ./configure --with-tcl=/usr/local --with-tk=/usr/local

    '--with-PACKAGE=no'与下面将提到的'--without-PACKAGE'是同义的.

    7、'--without-PACKAGE'
    有时候你可能不想让你的软件包与系统已有的软件包交互.例如,你可能不想让你的新编译器使用GNU ld.通过使用这个选项可以做到这一点:
    $ ./configure --without-gnu-ld


    8、也可以配置它们的环境变量,如:

    <span style="font-family:SimSun;font-size:14px;">  CC          C compiler command
      CFLAGS      C compiler flags</span>
    9、'--prefix=PREFIX'
    '--prefix'是最常用的选项.制作出的'Makefile'会查看随此选项传递的参数,当一个包在安装时可以彻底的重新安置他的结构独立部分.
    举一个例子,当安装一个包,例如说Emacs,下面的命令将会使Emacs Lisp file被安装到"/opt/gnu/share":
    $ ./configure --prefix=/opt/gnu


    10、'--bindir=DIR'
    指定二进制文件的安装位置.这里的二进制文件定义为可以被用户直接执行的程序.

    11、'--sbindir=DIR'
    指定超级二进制文件的安装位置.这是一些通常只能由超级用户执行的程序.


    12、'--libdir=DIR'
    指定库文件的安装位置.

    13、'--includedir=DIR'
    指定C头文件的安装位置.其他语言如C++的头文件也可以使用此选项.

    更为详细的参数的介绍请参考:http://blog.csdn.net/williamwang2013/article/details/8529954

    http://blogger.org.cn/blog/more.asp?name=lhwork&id=22496

    在此之后,就会自动生成Makefile文件,如果要修改编译器环境等,可以这个时候修改生成的Makefile文件,也可以在。/configure之前,先source下交叉编译需要的环境变量。如果编译的是库文件,就可以把库文件和相应的头文件包含到工程中就可以使用了 。




    展开全文
  • Qt源码编译configure配置参数

    千次阅读 2019-06-15 19:15:41
    Qt源码编译configure配置参数 相关文章 Configure理解命令行上的变量赋值,比如VAR=value。每个大写的库名(可通过 -list-libraries获得)都支持后缀_INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=...

    Qt源码编译configure配置参数

    相关文章

    Configure理解命令行上的变量赋值,比如VAR=value。每个大写的库名(可通过 -list-libraries获得)都支持后缀_INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=PREFIX/lib),和- on Windows和Darwin - LIBS_DEBUG和_LIBS_RELEASE。例如,
    ICU_PREFIX=/opt/icu42 ICU_LIBS="-licui18n -licuuc -licudata"
    也可以操作任何QMAKE
    *变量来修改值从构建Qt本身的mkspec,例如QMAKE_CXXFLAGS+=-g3。

    顶级安装目录:

    [options][assignments][说明]
    -prefix<dir>指定在目标设备上的部署目录,默认/usr/local/Qt-$QT_VERSION,$PWD if -developer-build
    -extprefix<dir>安装目录, 主机上默认值[SYSROOT/PREFIX]
    -hostprefix[dir]运行在主机上的构建工具的安装目录. 如果没有给出[dir],则使用当前构建目录[EXTPREFIX]
    -external-hostbindir<path>为这台机器构建的Qt工具的路径。当-platform与当前系统不匹配时,构建交叉编译

    微调安装目录。注意,除-sysconfdir之外的所有目录都应该位于-prefix/-hostprefix下:

    [options][assignments][说明]
    -bindir<dir>可执行文件目录 [PREFIX/bin]
    -headerdir<dir>头文件目录[PREFIX/include]
    -libdir<dir>库文件目录 [PREFIX/lib]
    -archdatadir<dir>Arch 依赖的数据目录 [PREFIX]
    -plugindir<dir>插件目录 [ARCHDATADIR/plugins]
    -libexecdir<dir>辅助程序目录 [ Windows 默认ARCHDATADIR/bin,其它默认 ARCHDATADIR/libexec ]
    -importdir<dir>QML1 imports模块 目录 [ARCHDATADIR/imports]
    -qmldir<dir>QML2 imports模块 目录[ARCHDATADIR/qml]
    -datadir<dir>Arch 独立数据目录 [PREFIX]
    -docdir<dir>文档目录 [DATADIR/doc]
    -translationdir<dir>Qt程序的翻译数据安装目录 [DATADIR/translations]
    -sysconfdir<dir>Qt程序使用的设置目录 [PREFIX/etc/xdg]
    -examplesdir<dir>示例文件安装目录 [PREFIX/examples]
    -testsdir<dir>测试文件安装目录 [PREFIX/tests]
    -hostbindir<dir>主机可执行文件安装目录 [HOSTPREFIX/bin]
    -hostlibdir<dir>主机库文件安装目录 [HOSTPREFIX/lib]
    -hostdatadir<dir>qmake使用数据安装目录 [HOSTPREFIX]

    其余选项的约定:当一个选项的描述是解释如下:
    yes代表最基本的选择;所有其他值都是可能的前缀选项,例如-no-gui。或者,可以分配值,例如,--gui = yes
    如果没有指定,则按尝试的顺序列出值;auto表示yes/no的缩写。单独的yesno表示选项没有自动选择。

    Configure选项:

    [options][说明]
    -help, -h显示本帮助文档
    -verbose, -v打印显示配置信息
    -continue如果发生错误,尽量继续
    -redo使用以前使用过的选项重新配置。可以传递其他选项
    -recheck丢弃缓存的负配置测试结果。安装丢失的依赖项后使用此功能
    -recheck-all丢弃所有缓存的配置测试结果
    -feature-<feature>启用 <feature>
    -no-feature-<feature>禁止 <feature>
    -list-features列出可用功能列表。注意,一些特性也有专用的命令行选项
    -list-libraries列出可能的外部依赖

    构建选项:

    [options][说明]
    -opensource构建Qt的开源版本
    -commercial构建Qt的商业版本
    -confirm-license自动确认许可
    -release构建Qt的release版本 [yes]
    -debug构建Qt的debug版本[no]
    -debug-and-release构建Qt的debug和release版本 [yes] (仅支持 Apple 系统 和 Windows 系统)
    -optimize-debug在调试构建中启用调试友好的优化[ auto ](不支持MSVC)
    -optimize-size优化版本构建的大小而不是速度[no]
    -optimized-tools构建优化的主机工具,即使在debug版本 [no]
    -force-debug-info为release构建创建符号文件[no]
    -separate-debug-info将调试信息分离到单独的文件中 [no]
    -strip去掉 release版本 不需要的符号 [yes]
    -force-asserts启用Q_ASSERT,即使在release构建中[no]
    -developer-build编译并链接Qt以开发Qt本身(导出用于自动测试、额外检查等) [no]
    -shared构建共享Qt库[yes](不用于UIKit)
    -static构建静态Qt库[no] (用于UIKit)
    -framework构建Qt框架包[yes](仅适用于Apple)
    -platform <target>指定目标操作系统和编译器,选择mkspec[detected]
    -xplatform <target>交叉编译时选择目标mkspec [PLATFORM]
    -device <name>指定交叉编译的目标设备 <name>
    -device-option <key=value>为目标设备mkspec添加选项
    -appstore-compliant禁用平台应用程序商店中不允许的代码。对于需要通过应用程序商店分发的平台,特别是Android、iOS、tvOS、watchOS和通用Windows平台,这是默认打开的 [auto]
    -qtnamespace <name>把所有的Qt库代码放入namespace {…}中
    -qtlibinfix <infix>重命名所有libQt5 * 为 libQt5 * <infix> . so
    -testcocoon使用TestCocoon代码覆盖工具测试 [no]
    -gcov使用GCov代码覆盖工具测试 [no]
    -sanitize {address|thread|memory|undefined}使用指定编译器sanitizer测试
    -c++std <edition>选择C++标准 [C++ 12 / C++ 14/ C++ 11](不支持MSVC)
    -sse2使用SSE2指令 [auto]
    -sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512启用特定x86指令的使用,启用的指令仍然要接受运行时检测,[auto]
    -mips_dsp/-mips_dspr2使用MIPS DSP/rev2指令 [auto]
    -qreal <type>为qreal指定类型.默认值是double 。请注意,更改此标志影响二进制兼容性
    -R <string>向Qt库添加显式运行时库路径。支持相对于LIBDIR的路径
    -rpath使用库安装路径作为运行时库路径链接Qt库和可执行程序。类似于-R LIBDIR。在苹果平台上,禁用它意味着对动态库和框架使用绝对安装路径(基于LIBDIR) [auto]
    -reduce-exports减少导出符号的数量 [auto]
    -reduce-relocations减少重定位的数量[auto] (只适用于Unix)
    -plugin-manifests将manifests嵌入插件[no] (仅限Windows)
    -static-runtime使用-static选项时,使用静态运行时[no] (仅限Windows)
    -pch使用预编译头 [auto]
    -ltcg使用链接时代码生成 [no]
    -use-gold-linker使用GNU gold链接器 [auto]
    -incredibuild-xge使用IncrediBuild XGE [no] (仅限Windows)
    -make-tool <tool>使指定的工具<tool>构建qmake [nmake](仅限Windows)
    -mp使用多个处理器编译 (仅限MSVC)
    -warnings-are-errors视警告为错误 默认no;如果指定-developer-build选项则为yes
    -silent… Reduce the build output so that warnings and errors can be seen more easily

    构建环境:

    [options][说明]
    -sysroot <dir>设置目标sysroot为<dir>
    -gcc-sysroot使用-sysroot选项,将-sysroot传递给编译器 [yes]
    -pkg-config使用pkg-config[auto] (仅限Unix)
    -D <string>添加一个宏定义<string>到预处理器
    -I <string>添加一个头文件包含路径<string>
    -L <string>添加一个库文件路径<string>
    -F <string>添加一个框架路径<string> (仅限Apple)
    -sdk <sdk>使用苹果提供的SDK构建Qt < SDK >。参数应该是“xcodebuild -showsdks”列出的可用SDKs之一。注意,这个参数只适用于使用目标mkspec构建的Qt库和应用程序,而不是像qmake、moc、rcc等主机工具。
    -android-sdk path设置Android SDK根目录 [$ANDROID_SDK_ROOT]
    -android-ndk path设置Android NDK根目录 [$ANDROID_NDK_ROOT]
    -android-ndk-platform设置android 平台版本
    -android-ndk-host设置Android NDK主机类型(linux-x86, linux-x86_64等) [$ANDROID_NDK_HOST]
    -android-arch设置android 体系架构 (armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64)
    -android-toolchain-version设置android 工具链版本
    -android-style-assets在运行时自动从设备中提取样式表。这个选项使Android风格正确,但也使Android平台插件与LGPL2.1不兼容 [yes]

    组件选项:

    [options][说明]
    -skip <repo>从构建中排除整个存储库<repo>.
    -make <part>在make时添加要构建的组件.指定此选项将首先清除默认列表. [libs examples tools 如果不是 cross-building,甚至还有 tests 如果指定 -developer-build]
    -nomake <part>从要构建的部件列表中排除.
    -compile-examples取消设置时,只安装示例的源代码[yes]
    -gui构建Qt GUI模块和依赖项 [yes]
    -widgets构建Qt Widgets模块和依赖项 [yes]
    -no-dbus不要构建Qt D-Bus模块[Android和Windows默认]
    -dbus-linked构建Qt D-Bus并链接到libdbus-1 [auto]
    -dbus-runtime构建Qt D-Bus,动态加载libdbus-1 [no]
    -accessibility启用可访问性支持[yes]注意:不建议禁用可访问性
    -qml-debug启用QML调试支持 [yes]

    核心选项:

    Qt附带一些第三方库的捆绑副本。如果自动检测各自的系统库失败,默认情况下将使用这些。

    [options][说明]
    -doubleconversion选择使用 doubleconversion 库 ,取值[system/qt/no] 。 No意味着使用sscanf_l和snprintf_l(不精确)
    -glib启用Glib支持 [no; auto on Unix]
    -eventfd启用eventfd支持
    -inotify启用inotify支持
    -iconv启用iconv(3)支持 [posix/sun/gnu/no] (仅限Unix)
    -icu启用ICU支持 [auto]
    -pcre选择使用libpcre2 [system/qt]
    -pps启用PPS支持 [auto] (仅限QNX)
    -zlib选择使用zlib [system/qt]

    日志后端:

    [options][说明]
    -journald启用journald支持 [no] (仅限Unix)
    -syslog启用syslog支持 [no] (仅限Unix)
    -slog2启用slog2支持 [auto] (仅限QNX)

    网络选项:

    [options][说明]
    -ssl启用任何SSL支持方法 [auto]
    -no-openssl不使用OpenSSL[默认在苹果和WinRT上]
    -openssl-linked使用OpenSSL并链接到libssl [no]
    -openssl-runtime使用OpenSSL并动态加载libssl [auto]
    -securetransport使用SecureTransport [auto] (仅限于苹果)
    -sctp启用SCTP支持[no]
    -libproxy启用libproxy [no]
    -system-proxies默认使用系统网络代理[yes]

    Gui, 打印, widget 选项:

    [options][说明]
    -cups启用 CUPS 支持 [auto] (仅限Unix)
    -fontconfig启用字体配置支持 [auto] (仅限Unix)
    -freetype选择使用FreeType, 取值[system/qt/no]
    -harfbuzz选择使用 HarfBuzz-NG ,取值[system/qt/no] (苹果和Windows没有自动检测)
    -gtk启用GTK平台主题支持 [auto]
    -lgmon启用lgmon支持[auto] (仅限QNX)
    -no-opengl禁用 OpenGL 支持
    -opengl 启用OpenGL的支持。支持的api: es2 (Windows默认)、desktop (Unix默认)、dynamic(仅Windows)
    -opengles3启用 OpenGL ES 3.x 代替 OpenGL ES 2.x [auto]
    -angle使用绑定的角度来支持OpenGL es2.0 [auto] (仅限Windows)
    -combined-angle-lib将LibEGL和LibGLESv2合并到LibANGLE 中(仅限Windows)
    -qpa 选择默认的QPA后端(例如,xcb、cocoa、windows)
    -xcb-xlib启用Xcb-Xlib支持 [auto]

    平台后端:

    [options][说明]
    -direct2d启用Direct2D支持[auto] (仅限Windows)
    -directfb启用 DirectFB 支持 [no] (仅限Unix)
    -eglfs启用 EGLFS 支持 [auto;在Android 和 Windows取值 no ]
    -gbm启用GBM的后端 [auto] (仅限Linux)
    -kms启用KMS的后端 [auto] (仅限Linux)
    -linuxfb启用Linux Framebuffer支持 [auto] (仅限Linux)
    -mirclient启用Mir客户端支持 [no] (仅限Linux)
    -xcb选择使用的xcb-*库 取值[system/qt/no] (-qt-xcb仍然使用系统版本的libxcb)

    输入后端:

    [options][说明]
    -evdev启用evdev支持[auto]
    -imf启用IMF支持 [auto] (QNX only)
    -libinput启用libinput支持 [auto]
    -mtdev启用mtdev支持[auto]
    -tslib启用tslib支持 [auto]
    -xinput2启用XInput2支持 [auto]
    -xkbcommon-x11选择与xkbcommon结合使用的 xcb 取值 [system/qt/no]
    -xkb-config-root <dir>使用-qt-xkbcommon-x11,设置默认的XKB配置根目录<dir> [detect]
    -xkbcommon-evdev结合libinput启用X-less xkbcommon [auto]

    图片格式:

    [options][说明]
    -gif启用GIF支持 [auto]
    -ico启用ICO支持 [yes]
    -libpng启用libpng支持 [system/qt/no]
    -libjpeg启用libjpeg支持 [system/qt/no]

    数据库选项:

    [options][说明]
    -sql-<driver>启用SQL plugin。支持驱动程序 :db2 ibase mysql oci odbc psql sqlite2 sqlite tds [auto]
    -sqlite选择使用 sqlite3 取值[system/qt]

    Qt3D 选项:

    [options][说明]
    -assimp选择assimp库 ,取值[system/qt/no]
    -qt3d-profile-jobs启用jobs分析 [no]
    -qt3d-profile-gl启用OpenGL分析 [no]

    多媒体选项:

    [options][说明]
    -pulseaudio启用PulseAudio支持[auto] (Unix only)
    -alsa启用ALSA支持[auto] (Unix only)
    -no-gstreamer禁止使用 GStreamer
    -gstreamer [version]启用GStreamer支持[auto],不带参数,先尝试1.0,然后尝试0.10.
    -mediaplayer-backend <name>选择media player后端(只支持Windows)支持后端:directshow(默认),wmf
    展开全文
  • linux下configure配置参数

    万次阅读 2014-07-31 17:15:44
    语法 你必须在源代码树的根目录下调用configure脚本,语法如下: ./configure [OPTION]......若要指定环境变量(比如:CC, ...配置选项安装目录系统类型模块选项杂项选项传递给apr-config脚本的选项特殊程序包

    语法

    你必须在源代码树的根目录下调用configure脚本,语法如下:

    ./configure [OPTION]... [VAR=VALUE]...

    若要指定环境变量(比如:CCCFLAGS ...),请使用 VAR=VALUE 的格式。下面有一些有用的环境变量说明。

    选项

    配置选项

    下列选项会影响configure脚本自身的行为。方括号"[]"内是默认值。

    -C --config-cache
    等价于 --cache-file=config.cache
    --cache-file=FILE
    FILE文件中缓存测试结果(默认禁用)。
    -h --help[=short|recursive]
    显示帮助信息然后退出。使用short参数将只显示正在运行的当前脚本的选项,而不能列出适用于Apache配置脚本所运行的外部配置脚本的选项。使用recursive参数将显示所有程序包的简短描述。
    -n --no-create
    configure脚本运行结束后不输出结果文件,常用于正式编译前的测试。
    -q --quiet
    不显示脚本工作期间输出的"checking ..."消息。
    --srcdir=DIR
    指定源代码所在目录DIR 。[configure脚本所在目录或父目录]
    --silent
    等价于 --quiet
    -V --version
    显示版权信息后退出。

    安装目录

    这些选项控制着安装目录的结构。安装目录的结构取决于所选择的布局。方括号"[]"内是默认值。

    --prefix=PREFIX
    体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。[/usr/local/apache2]
    --exec-prefix=EPREFIX
    体系相关文件的顶级安装目录EPREFIX ,把体系相关的文件安装到不同的位置可以方便地在不同主机之间共享体系相关的文件。[PREFIX]

    默认情况下,make install 将会把所有文件分别安装到/usr/local/apache2/bin ,/usr/local/apache2/lib 目录下。可以用 --prefix 指定一个不同于/usr/local/apache2的安装前缀,比如:--prefix=$HOME 。

    定义一个目录布局

    --enable-layout=LAYOUT
    使用名为LAYOUT的布局配置所有源代码和编译脚本。这样就允许你在安装Apache时分别指定不同文件的安装位置。config.layout文件中包含了默认布局的示例,你可以根据它创建你自己的布局。这个文件中的不同布局使用<Layout FOO>...</Layout>段进行分组,其中的FOO就是布局名。默认的布局是Apache 。

    安装目录微调

    可以使用下面的选项微调安装目录。下列选项的默认值由autoconf自动设置并在方括号"[]"内说明。

    --bindir=DIR
    用户可执行目录DIR 。用于存放对网站管理员很有帮助的htpasswddbmmanage之类的支持程序。
    [EPREFIX/bin]
    --datadir=DIR
    Web服务器只读的体系无关数据目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。
    [PREFIX/share]
    --includedir=DIR
    Apache的C头文件目录DIR 。
    [EPREFIX/include]
    --infodir=DIR
    信息文档目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。
    [PREFIX/info]
    --libdir=DIR
    对象代码库目录DIR 。
    [EPREFIX/lib]
    --libexecdir=DIR
    程序可执行目录DIR ,也就是动态加载模块目录。
    [EPREFIX/libexec]
    --localstatedir=DIR
    可写的单一机器数据目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。
    [PREFIX/var]
    --mandir=DIR
    手册文档目录DIR 。
    [EPREFIX/man]
    --oldincludedir=DIR
    非gcc的C头文件目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。
    [/usr/include]
    --sbindir=DIR
    系统管理员可执行目录DIR ,用于存放运行HTTP服务器所必须的httpdapachectl,suexec之类的服务程序。
    [EPREFIX/sbin]
    --sharedstatedir=DIR
    可写的体系无关数据目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。
    [PREFIX/com]
    --sysconfdir=DIR
    只读的单一机器数据目录DIR ,用于存放httpd.confmime.types之类的服务器配置文件。
    [PREFIX/etc]

    系统类型

    这些选项用于交叉编译在其他平台上运行的Apache HTTP服务器。在同一平台上编译和运行Apache HTTP服务器通常不需要使用这些选项,脚本会自动检测并设置。方括号"[]"内是默认值。

    --build=BUILD
    指定编译工具所在系统的系统类型BUILD 。
    [config.guess脚本的检测结果]
    --host=HOST
    指定Apache HTTP服务器将要运行的目标系统类型HOST 。
    [BUILD]
    --target=TARGET
    configure for building compilers for TARGET类型的系统。虽然autoconf提供了该选项,但Apache并未使用它。
    [HOST]

    模块选项

    有两种使用模块的方法:一是静态连接进核心,二是作为DSO模块动态加载;如果编译中包含任何DSO模块,则mod_so会被自动包含进核心。如果希望核心能够装载DSO,但不实际编译任何DSO模块,则需明确指定"--enable-so=static"。

    一般语法

    一般情况下你可以使用如下语法启用或者禁用某个模块:

    --disable-MODULE
    禁用MODULE模块(仅用于基本模块)
    --enable-MODULE=shared
    MODULE编译为DSO(可用于所有模块)
    --enable-MODULE=static
    MODULE静态连接进核心(仅用于扩展和实验模块)
    --enable-mods-shared=MODULE-LIST
    MODULE-LIST中的所有模块都编译成DSO(可用于所有模块)
    --enable-modules=MODULE-LIST
    MODULE-LIST静态连接进核心(可用于所有模块)

    上述 MODULE-LIST 可以是:
    (1)用引号界定并且用空格分隔的模块名列表

    --enable-mods-shared='headers rewrite dav'

    (2)"most"(大多数模块[遇见错误模块时忽略该模块而不中断配置过程])
    (3)"all"(所有模块[遇见错误模块时中断配置过程并报错])

    --enable-mods-shared=most

    注意

    configure将忽略MODULEMODULE-LIST中的拼写错误,注意仔细拼写。用于MODULEMODULE-LIST中的名称是"mod_NAME"中去掉"mod_"并将剩余部分中的下划线"_"替换为连字符"-"以后的结果,比如"mod_log_config"模块应当表示为"log-config"。

    模块列表

    基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含,必须明确启用。

    模块名称状态简要描述
    mod_actions(B)基于媒体类型或请求方法,为执行CGI脚本而提供
    mod_alias(B)提供从文件系统的不同部分到文档树的映射和URL重定向
    mod_asis(B)发送自己包含HTTP头内容的文件
    mod_auth_basic(B)使用基本认证
    mod_authn_default(B)在未正确配置认证模块的情况下简单拒绝一切认证信息
    mod_authn_file(B)使用纯文本文件为认证提供支持
    mod_authz_default(B)在未正确配置授权支持模块的情况下简单拒绝一切授权请求
    mod_authz_groupfile(B)使用纯文本文件为组提供授权支持
    mod_authz_host(B)供基于主机名、IP地址、请求特征的访问控制
    mod_authz_user(B)基于每个用户提供授权支持
    mod_autoindex(B)自动对目录中的内容生成列表,类似于"ls"或"dir"命令
    mod_cgi(B)在非线程型MPM(prefork)上提供对CGI脚本执行的支持
    mod_cgid(B)在线程型MPM(worker)上用一个外部CGI守护进程执行CGI脚本
    mod_dir(B)指定目录索引文件以及为目录提供"尾斜杠"重定向
    mod_env(B)允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量
    mod_filter(B)根据上下文实际情况对输出过滤器进行动态配置
    mod_imagemap(B)处理服务器端图像映射
    mod_include(B)实现服务端包含文档(SSI)处理
    mod_isapi(B)仅限于在Windows平台上实现ISAPI扩展
    mod_log_config(B)允许记录日志和定制日志文件格式
    mod_mime(B)根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码)
    mod_negotiation(B)提供内容协商支持
    mod_nw_ssl(B)仅限于在NetWare平台上实现SSL加密支持
    mod_setenvif(B)根据客户端请求头字段设置环境变量
    mod_status(B)生成描述服务器状态的Web页面
    mod_userdir(B)允许用户从自己的主目录中提供页面(使用"/~username")
    mod_auth_digest(X)使用MD5摘要认证(更安全,但是只有最新的浏览器才支持)
    mod_authn_alias(E)基于实际认证支持者创建扩展的认证支持者,并为它起一个别名以便于引用
    mod_authn_anon(E)提供匿名用户认证支持
    mod_authn_dbd(E)使用SQL数据库为认证提供支持
    mod_authn_dbm(E)使用DBM数据库为认证提供支持
    mod_authnz_ldap(E)允许使用一个LDAP目录存储用户名和密码数据库来执行基本认证和授权
    mod_authz_dbm(E)使用DBM数据库文件为组提供授权支持
    mod_authz_owner(E)基于文件的所有者进行授权
    mod_cache(E)基于URI键的内容动态缓冲(内存或磁盘)
    mod_cern_meta(E)允许Apache使用CERN httpd元文件,从而可以在发送文件时对头进行修改
    mod_charset_lite(X)允许对页面进行字符集转换
    mod_dav(E)允许Apache提供DAV协议支持
    mod_dav_fs(E)mod_dav访问服务器上的文件系统提供支持
    mod_dav_lock(E)mod_dav锁定服务器上的文件提供支持
    mod_dbd(E)管理SQL数据库连接,为需要数据库功能的模块提供支持
    mod_deflate(E)压缩发送给客户端的内容
    mod_disk_cache(E)基于磁盘的缓冲管理器
    mod_dumpio(E)将所有I/O操作转储到错误日志中
    mod_echo(X)一个很简单的协议演示模块
    mod_example(X)一个很简单的Apache模块API演示模块
    mod_expires(E)允许通过配置文件控制HTTP的"Expires:"和"Cache-Control:"头内容
    mod_ext_filter(E)使用外部程序作为过滤器
    mod_file_cache(X)提供文件描述符缓存支持,从而提高Apache性能
    mod_headers(E)允许通过配置文件控制任意的HTTP请求和应答头信息
    mod_ident(E)实现RFC1413规定的ident查找
    mod_info(E)生成Apache配置情况的Web页面
    mod_ldap(E)为其它LDAP模块提供LDAP连接池和结果缓冲服务
    mod_log_forensic(E)实现"对比日志",即在请求被处理之前和处理完成之后进行两次记录
    mod_logio(E)对每个请求的输入/输出字节数以及HTTP头进行日志记录
    mod_mem_cache(E)基于内存的缓冲管理器
    mod_mime_magic(E)通过读取部分文件内容自动猜测文件的MIME类型
    mod_proxy(E)提供HTTP/1.1的代理/网关功能支持
    mod_proxy_ajp(E)mod_proxy的扩展,提供Apache JServ Protocol支持
    mod_proxy_balancer(E)mod_proxy的扩展,提供负载平衡支持
    mod_proxy_connect(E)mod_proxy的扩展,提供对处理HTTP CONNECT方法的支持
    mod_proxy_ftp(E)mod_proxy的FTP支持模块
    mod_proxy_http(E)mod_proxy的HTTP支持模块
    mod_rewrite(E)一个基于一定规则的实时重写URL请求的引擎
    mod_so(E)允许运行时加载DSO模块
    mod_speling(E)自动纠正URL中的拼写错误
    mod_ssl(E)使用安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输
    mod_suexec(E)使用与调用web服务器的用户不同的用户身份来运行CGI和SSI程序
    mod_unique_id(E)为每个请求生成唯一的标识以便跟踪
    mod_usertrack(E)使用Session跟踪用户(会发送很多Cookie),以记录用户的点击流
    mod_version(E)提供基于版本的配置段支持
    mod_vhost_alias(E)提供大批量虚拟主机的动态配置支持

    多路处理模块(MPM)

    必须有而且只能有一个MPM被静态包含进核心,你可以使用下面的配置选项进行选择:

    --with-mpm=MPM
    其中,MPM是你想要使用的多路处理模块的名字。如果你不使用这个选项,那么将会使用对应于各平台的默认MPM,可选的MPM如下:beosmpmt_os2preforkworker

    第三方模块

    有至少两种方法可以添加第三方模块,最简单的方法是作为配置参数提供,语法如下:

    --with-module=module-type:module-file[, module-type:module-file]

    module-file是模块的源代码文件名,该文件必须位于Apahe源代码目录树的"modules/module-type"目录下,如果configure没有在那里找到module-file ,则将它看作一个绝对路径名并尝试将其复制到"modules/module-type"目录中,如果"modules/module-type"目录不存在,configure将新建一个"modules/module-type"目录并在其中放置一个标准的Makefile.in文件。这种方法有两个明显的缺陷:

    1. 模块的源代码必须是单一文件
    2. 模块只能静态连接进核心,而不能作为DSO模块

    所以一般并不使用此方法,而是使用apxs(Apache扩展工具)来添加第三方模块支持。

    杂项选项

    --enable-http
    启用HTTP协议处理支持
    --enable-v4-mapped
    使用相同的套接字同时处理IPv4和IPv6的连接,也就是启用地址映射。在FreeBSD、NetBSD、OpenBSD以外的平台上是默认值。
    --disable-v4-mapped
    使用不同的套接字分别处理IPv4和IPv6的连接,也就是禁用地址映射。在FreeBSD、NetBSD、OpenBSD上是默认值。
    --enable-distcache
    mod_ssl中启用distcache支持
    --enable-maintainer-mode
    使用所有警告和调试符号编译源代码,请勿用于正式服务器,它会影响性能。
    --enable-exception-hook
    允许在子进程崩溃以后启用一个钩子来运行异常处理程序。参见EnableExceptionHook指令
    --enable-pie
    httpd编译为位置独立的(Position Independent)可执行程序
    --with-port=PORT
    设定httpd的默认的监听端口[默认为:80],该值仅在生成默认配置文件httpd.conf时使用。
    --with-program-name=NAME
    指定可执行程序的名字[默认为:httpd],若使用此选项则默认配置文件的名字将同时变成"NAME.conf"。

    传递给apr-config脚本的选项

    译者注:下述选项并未出现在官方手册中,译者不保证其真实性,仅供有兴趣的玩家参考。

    --enable-nonportable-atomics
    若只打算在486以上的CPU上运行Apache ,那么使用该选项可以启用更加高效的基于互斥执行的原子操作
    --disable-threads
    禁用线程支持,如果不使用线程化的MPM ,可以关闭它以减少系统开销。
    --disable-lfs
    在32-bit平台上禁用大文件支持(large file support)
    --enable-threads
    启用线程支持,在线程型的MPM上必须打开它
    --disable-ipv6
    禁用IPv6支持
    --disable-dso
    禁用DSO支持

    特殊程序包选项

    这些指令用于定义特殊程序包相关的选项。

    --with-included-apr
    在编译时强制使用当前源代码中绑定的APR版本,仅在2.2.3以后的版本中可用。
    --with-apr=DIR|FILE
    Apache可移植运行时(APR)是httpd源码的一部分并会自动与httpd一起创建。如果你想使用一个已经存在的APR ,就必须在这里指定apr-config脚本的路径。可以使用此脚本的绝对路径或已有的APR安装目录(apr-config必须位于此目录或者其下的"bin"子目录中)。
    --with-apr-util=DIR|FILE
    Apache可移植运行时工具包(APU)是httpd源码的一部分并会自动与httpd一起创建。如果你想使用一个已经存在的APU ,就必须在这里指定apu-config脚本的路径。可以使用此脚本的绝对路径或已有的APU安装目录(apu-config必须位于此目录或者其下的"bin"子目录中)。
    --with-ssl=DIR
    如果启用了mod_ssl ,configure脚本将会自动搜寻已经安装的OpenSSL ,你可以在这里指定SSL/TLS工具包的位置。
    --with-sslc=DIR
    如果启用了mod_ssl ,configure脚本将会自动搜寻已经安装的OpenSSL ,你可以在这里指定 RSA SSL-C SSL/TLS 工具包的位置。
    --with-z=DIR
    如果你启用了压缩模块(比如mod_deflate),configure脚本将会自动搜寻已经安装的zlib库,你可以在这里指定它的安装路径。
    --with-perl=DIR
    有些用Perl写的支持脚本,如apxsdbmmanage ,需要Perl5解释器(5.003或以上的版本就足够了)。如果系统中存在多个Perl解释器,比如有系统提供的Perl 4 ,还有你自己安装的Perl 5 ,推荐你使用该选项来指定正确的版本。如果没有Perl 5也没关系,这并不影响Apache httpd的编译和安装,只是相关的支持脚本不能使用而已。
    --with-pcre=DIR
    5.0版的Perl兼容正则表达式库(PCRE)已经被包含进来了,如果你想使用系统中已经安装好的PCRE ,就可以在这里指定其安装路径。
    --with-ldap=DIR
    一些Apache模块,比如mod_ldapmod_authnz_ldap需要APU支持LDAP(默认并不支持),只要使用其中之一,就要使用该选项指定LDAP的安装路径。

    一些Apache模块,比如mod_authn_dbmmod_rewrite需要使用DBM数据库,APU中已经包含了SDBM ,所以这个数据库总是可用的。如果你想使用其他类型的数据库,就要使用以下选项:

    --with-gdbm[=path]
    使用GNU DBM代替SDBM;如果不指定path ,则configure脚本将会在默认路径上搜索GNU DBM的包含文件和库的位置。如果指定path ,则configure脚本会在path/libpath/include目录中搜索GNU DBM的包含文件和库。还可以使用"inc-path:lib-path"的形式分别指定GNU DBM的包含文件和库的位置。
    --with-ndbm[=path]
    使用New DBM代替SDBM;如果不指定path ,则configure脚本将会在默认路径上搜索New DBM的包含文件和库的位置。如果指定path ,则configure脚本会在path/libpath/include目录中搜索New DBM的包含文件和库。还可以使用"inc-path:lib-path"的形式分别指定New DBM的包含文件和库的位置。
    --with-berkeley-db[=path]
    使用Berkeley DB代替SDBM;如果不指定path ,则configure脚本将会在默认路径上搜索Berkeley DB的包含文件和库的位置。如果指定path ,则configure脚本会在path/libpath/include目录中搜索Berkeley DB的包含文件和库。还可以使用"inc-path:lib-path"的形式分别指定Berkeley DB的包含文件和库的位置。

    注意

    DBM数据库选项是由APU提供并传递给APU配置脚本的。所以如果使用 --with-apr-util指定一个已安装的APU来代替,那么这些选项便无效。你可以同时使用几种不同的DBM实现,然后使用运行时配置动态选择其中之一。

    支持程序选项

    --enable-static-support
    使用静态连接(默认为动态连接)编译所有二进制支持程序。若不使用该选项也可以使用下面的选项分别指定每个支持程序:
    --enable-static-ab
    使用静态连接编译ab
    --enable-static-checkgid
    使用静态连接编译checkgid
    --enable-static-htdbm
    使用静态连接编译htdbm
    --enable-static-htdigest
    使用静态连接编译htdigest
    --enable-static-htpasswd
    使用静态连接编译htpasswd
    --enable-static-logresolve
    使用静态连接编译logresolve
    --enable-static-rotatelogs
    使用静态连接编译rotatelogs

    suexec配置选项

    --enable-suexec
    使用这个选项以启用suexec ,它可以允许你为CGI程序指定uid和gid 。如果你不精通suexec的工作机制,请不要使用它!

    仅在启用了上述选项的情况下,才可以使用以下选项微调suexec的各种特性。方括号"[]"内是默认值。参见配置和安装suEXEC以获得更多信息。

    --with-suexec-bin
    suexec二进制文件目录[--sbindir]
    --with-suexec-caller
    允许调用suexec的用户,必须和运行httpd子进程的用户相同。
    --with-suexec-docroot
    允许suexec对其中的文件具有执行权限的根目录[--datadir/htdocs]
    --with-suexec-gidmin
    允许执行suexec的最小GID[100]
    --with-suexec-logfile
    suexec日志文件名[默认文件名为:suexec_log ,位于--logfiledir目录下]
    --with-suexec-safepath
    suexec"安全"的PATH环境变量的值[/usr/local/bin:/usr/bin:/bin]
    --with-suexec-userdir
    用户主目录下允许suexec对其中的文件具有执行权限的子目录,仅在将suexec用户网站目录(由mod_userdir提供支持)一起使用的情况下才需要设置此选项。[public_html]
    --with-suexec-uidmin
    允许执行suexec的最小UID[100]
    --with-suexec-umask
    suexec进程的umask[取决于系统的设定]
    top

    环境变量

    可以通过指定某些环境变量来修改configure脚本的默认选择,或者帮助configure脚本找到名字和/或位置不标准的库和程序。

    CC
    C编译器
    CFLAGS
    C编译器的flags
    CPP
    C预处理程序
    CPPFLAGS
    C/C++预处理程序flags,比如使用"-Iincludedir"指定一个非标准的头文件目录includedir 。
    LDFLAGS
    连接器flags,比如使用"-L-Llibdir"指定一个非标准的库文件目录libdir 。
    展开全文
  • STM32F103xxsHAL库配置外部中断细节

    千次阅读 2018-06-12 19:16:22
    /*Configure GPIO pin : PE3 PE4 */ GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;//下降沿触发 GPIO_InitStruct.Pull = GPIO_PULLUP;//上拉 HAL_GPIO_Init...
    /*Configure GPIO pin : PE3 PE4 */
    
      GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4;
      GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;//下降沿触发
      GPIO_InitStruct.Pull = GPIO_PULLUP;//上拉

      HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);


      /*Configure GPIO pin : PA0 */
      GPIO_InitStruct.Pin = GPIO_PIN_0;
      GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;//上升沿触发
      GPIO_InitStruct.Pull = GPIO_PULLDOWN;//下拉

      HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    触发模式与引脚输出状态要相反,上升沿触发引脚要下拉,下降沿触发引脚要上拉

    展开全文
  • ubuntu php5 configure 配置文件解析

    千次阅读 2012-06-01 13:44:47
    configure –help说明 配置帮助表: –help 显示帮助信息 display this help and exit –version 显示版本 display version information and exit –quiet, –...
  • nginx安装configure参数配置说明

    千次阅读 2019-07-12 11:15:01
    使用该configure命令配置构建。它定义了系统的各个方面,包括允许nginx用于连接处理的方法。最后它创建了一个Makefile。 该configure命令支持以下参数: –help 打印帮助信息。 –prefix=path 定义将保留服务器文件...
  • configure脚本配置Apache的源代码树并且将其安装到指定的平台上。丰富的选项允许你根据自己的特定状况和特定需求对Apache进行定制。 这个脚本位于源代码树的根目录下,并且只能用于类Unix操作系统。要了解其他平台...
  • harbor配置外部数据库

    千次阅读 2020-04-09 10:53:53
    harbor默认安装会使用官方打包的PostgreSQL docker镜像goharbor/harbor-db,harbor启动之后的数据均存放在改数据库上,后续管理可能存在不便,故使用harbor配置外部数据库。 一、搭建PostgreSQL数据库 ​ harbor从...
  • Usage: configure [options] [assignments] 用法 : Configure understands variable assignments like VAR=value on the command line. Each uppercased library name (obtainable with -list-libraries) supports...
  • 可能你不想用Idea自带的maven,可到官网下载安装链接,并在Idea中配置。 2 准备 工具 说明 maven 3.6.3 Idea IntelliJ IDEA 2019.3.1 x64 对于maven,你可以先做些有用的配置,参考 maven配置(指定源...
  • 外部库存设备清单 第一章中介绍了Ansible的运行需要一个设备库存清单文件,让他可以知道需要访问那些主机设备。Ansible还可以通过脚本让你选择其他的库存清单文件,这个脚本可以可以用任何语言来写,只要他的输出...
  • Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, ...上片篇博文介绍了linux下编译原生ffmpeg,本文介绍linux下编译ffmpeg如何引入外部库例如libx264,会了 添加...
  • 一、JDK系统配置 1.在project中的任意位置右键,选择“构建路径”→“配置构建路径...”   2.右边上方选择“”标签,在右边点击“添加...”按钮   3.选择“JRE 系统”,点击“...
  • HAL教程4:外部中断

    万次阅读 多人点赞 2019-04-09 22:36:11
    外部中断机制   本章我们仍然是通过按键来控制LED,只不过实现方式由轮询变为了外部中断。为什么需要外部中断?为了给CPU减轻负担。   举个例子   比如你今天有个快递,快递一般放在前台或是门卫。你有两种...
  • https://bbs.csdn.net/topics/240012376 https://www.cnblogs.com/simonid/p/6374306.html
  • –help 打印帮助信息。 –prefix=PATH 设置软件安装目录路径。...设置配置文件安装目录路径。 –error-log-path=PATH 设置错误日志文件安装目录路径。 –pid-path=PATH 设置进程文件安装目录路径。 –lo...
  • 然后进行配置,执行./configure --host=arm-linux --with-pcap=linux 4、configure执行完之后,输入make命令进行编译。编译完成后会生成libpcap.a静态和动态。这两个就是我们所需要的。 二.复制.a静态至...
  • 基于VMware虚拟机, Linux下的Nginx配置, 和外部主机访问配置nginx是C语言开发,建议在linux上运行,使用Centos7作为安装环境在进行nginx安装之前应该配置好Linux防火墙, 和VMware等配置, 外部主机才能访问先进行...
  • 当我们配置机器的时候,通常需要在同一时间内做许多操作,Anisble提供了一个工具叫playbooks。使用playbooks,我们就可以一次性、对多台机器进行多个操作动作。这种部署方法,可以确保配置的一致性,或者用来执行...
  • 外部中断的优先级配置

    千次阅读 2017-07-05 01:22:59
    STM32固件使用手册(中文版)P167抢占优先级的优先级别大于从优先级(响应优先级),而在抢占优先级内部,配置所给的抢占优先级(NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;)数字越小,代表的优先...
  • Ubuntu系统下使用VS Code编译调试C++程序并添加外部库

    万次阅读 多人点赞 2018-06-15 13:04:11
    环境配置 安装vscode 在左边Extensions中搜索“C++” Install安装,装好后Reload. 编写json文件 *.json主要是用来指导怎么解读/运行你编写的C++文件的“电脑看的说明书”。对于vscode上写C++程序...
  • FFMPEG编译定制 configure

    2020-04-16 17:30:54
    模块以第三方的外部库的方式提供支持,通过FFmpeg源码的configure命令查看所有支持的和不支持的。 h.264编码默认是没配置的,如果想支持,可以自己编译定制进去,如下 configure --enable-libx264 单独这样配置会...
  • Usage: configure [options] [assignments]Configure understands variable assignments like VAR=value on the command line.These override any values possibly obtained from pkg-config. The variablesare men....
  • 结构体1:RCC_OscInitTypeDef 在stm32l0xx_hal_rcc.h中...RCC内部/外部振荡器(HSE, HSI, LSE, LSI)配置结构体定义 typedef struct { uint32_t OscillatorType; //①,选定将被配置的振荡器 uint32_t HSEState; /...
  • STM32L152 外部中断配置

    千次阅读 2016-06-01 07:57:46
    STM32L152 中断配置1、中断配置外部中断0,管脚为PA0为例来进行配置 void SYS_EXTI0Init(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_...
  • 28335GPIO及外部中断配置介绍

    千次阅读 2019-07-23 16:35:32
    弄了两周终于把28335的启动流程、寄存器及中断向量表的映射方法、内存的划分等有了一个全面的了解,今天看到久违的LED灯的闪烁,顿扫阴霾。特在此总结下28335GPIO及外部中断配置介绍。其实对于一个微控制器...
  • NGINX ./configure详解

    千次阅读 2019-06-25 16:25:38
    在"./configure"配置中,"--with"表示启用模块,也就是说这些模块在编译时不会自动构建"--without"表示禁用模块,也就是说这些模块在编译时会自动构建,若你想Nginx轻量级运行,可以去除一些不必要的模块。...
  • 文章目录目的输出与控制输入与端口值读取外部中断总结 目的 GPIO口使用是单片机开发中最简单的一块,STM32的GPIO口无论是使用HAL还是LL开发起来都很简单,也没有什么坑。一般的对性能和内存等没有特殊要求的话用...
  • 在copy和template模块中,Ansible可以让那个你配置去查找一个文件集,第一个被找到的文件将被使用,若找不到则继续知道找到匹配的为止,若循环完毕还是没有找到对应的文件,那么模块不会被运行。使用first_available...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,703
精华内容 9,081
关键字:

configure配置外部库