• M2Crypto安装方法以及配置LDFLAGS、CFLAGS


    python3.7+mac环境:

    $ brew install openssl && brew install swig
    $ brew --prefix openssl
    /usr/local/opt/openssl
    $ LDFLAGS="-L$(brew --prefix openssl)/lib" 
    CFLAGS="-I$(brew --prefix openssl)/include" 
    SWIG_FEATURES="-I$(brew --prefix openssl)/include" 
    pip install m2crypto

    关于swig的作用

      SWIG is an interface compiler that connects programs written in C and C++ with scripting languages such as Perl, Python, Ruby, and Tcl. It works by taking the declarations found in C/C++ header files and using them to generate the wrapper code that scripting languages need to access the underlying C/C++ code. In addition, SWIG provides a variety of customization features that let you tailor the wrapping process to suit your application

    CFLAGS与LDFLAGS

    CFLAGS的选项-I : 用于把新目录添加到include路径上,可以使用相对和绝对路径,“-I.”、“-I./include”、“-I/opt/include”

    LDFLAGS的选项-L:用于把新目录添加到库搜索路径上,可以使用相对和绝对路径,“-L.”、“-L./include”、“-L/opt/include”

    Makefile 选项 CFLAGS 、LDFLAGS 、LIBS

    CFLAGS 表示用于C编译器的选项
    CXXFLAGS 表示用于C++编译器的选项
    这两个变量实际上涵盖了编译和汇编的两个步骤

    CFLAGS:指定头文件(.h)的路径,如:CFLAGS=-I/usr/include -I/path/include 。

    相同地,安装一个包时会在安装路径下建立一个include文件夹,当安装过程中出现故障时,试着把曾经安装的包的include文件夹增加到该变量中来。

    LDFLAGS:gcc 等编译器会用到的一些优化參数,也能够在里面指定库文件的位置。使用方法:LDFLAGS=-L/usr/lib -L/path/to/your/lib。每安装一个包都一定会在安装文件夹里建立一个lib文件夹

    LIBS:告诉链接器要链接哪些库文件。如LIBS = -lpthread -liconv

    简单地说,LDFLAGS是告诉链接器从哪里寻找库文件,而LIBS是告诉链接器要链接哪些库文件。

    参考:

    http://www.swig.org/exec.html

    https://gitlab.com/m2crypto/m2crypto/blob/master/INSTALL.rst#macosx

    https://blog.csdn.net/zhaoyun_zzz/article/details/82466031

    https://www.cnblogs.com/lytwajue/p/7161742.html

  • 相关阅读:
    2558: 游起来吧!超妹!
    2554: 巨巨来袭
    2557: 不如来21玩一局?
    tortoisesvn 本项目的忽略项
    【C语言】随机数随机种子
    【leetcode】按奇偶排序数组
    【leetcode】按奇偶排序数组 II
    【leetcode】根据数字二进制下 1 的数目排序
    【leetcode】合并排序的数组
    【leetcode】稀疏数组搜索
  • 原文地址:https://www.cnblogs.com/shengulong/p/10339848.html
Copyright © 2020-2023  润新知