首页 > 系统相关 >linux centos 编译luabind-0.9.1 动态库 静态库

linux centos 编译luabind-0.9.1 动态库 静态库

时间:2022-12-14 11:36:50浏览次数:55  
标签:0.9 5.1 centos 编译 luabind lua home



编译步骤

一. 需先编译好lua,编译好静态库即可,编译lua的具体步骤如下:

    1. lua5.1.5 下载地址

注意:貌似使用lua5.2版本来编译luabind会出现各种奇怪的报错,所以拿lua5.1做测试

    2. 从上面的下载地址下载得到lua-5.1.5.tar.gz压缩包,笔者这里是放在了/home目录下,然后解压得到lua根目录,

        即/home/lua-5.1.5

    3. 进入lua的代码目录,即/home/lua-5.1.5/src

    4. 执行命令 yum install readline-devel  这是由于lua编译依赖readline库,而其依赖ncurses库,但没有指定

    5. 执行命令 vim Makefile 打开makefile文件

    6. 修改 CFLAGS= -O2 -Wall $(MYCFLAGS)  改为 CFLAGS= -O2 -Wall $(MYCFLAGS) -fPIC 

       也就是在该行末尾添加了-fPIC 用来表示编译位置无关代码,这条非常重要,不然后面 编译luabind时会报错,

       修改完成后保存该makefile文件

    7. 回到上层目录,即回到目录/home/lua-5.1.5,执行命令 make linux 开始编译,后面的linux表当前平台为linux

    8. 即可在lua代码目录,即 /home/lua-5.1.5/src目录下 得到编译出来的静态库liblua.a


二. 需先编译好boost

    (其实不是编译boost,是需要解压后,编译出可执行程序bjam即可,后面需要使用该bjam文件来编译luabind)

      编译boost的具体步骤请参考


三.  从上面的luabind下载地址下载得到压缩包:luabind-0.9.1.tar.gz

    1. 解压,至此笔者解压后的

根目录为:/home/luabind-0.9.1

根目录为:/home/lua-5.1.5 (根据步骤一,已编译出静态库liblua.a)

根目录为:/home/boost_1_55_0(根据步骤二,已产生可执行程序bjam)

lib,然后把步骤一编译出来的 liblua.a复制一份拷贝到该目录下,

        后面编译luabind时需链接用

include,然后把lua代码目录即/home/lua-5.1.5/src/目录下

        的lauxlib.h,lua.h,luaconf.h,lualib.h四个头文件复制一份拷贝到include目录,因为后面编译luabind时需要

      (如果觉得麻烦,可以直接复制一份/home/lua-5.1.5/src目录,然后改名为include即可)

    4. 把编译boost时产生的可执行程序bjam文件复制一份拷贝到luabind根目录,即拷贝到目录 /home/luabind-0.9.1

    5. 设置boost和lua的环境变量

        export BOOST_ROOT=/home/boost_1_55_0 

        export LUA_PATH=/home/lua-5.1.5

    6. 开始修改luabind的三个代码文件,分别是 

        /home/luabind-0.9.1/luabind/wrapper_base.hpp     

        /home/luabind-0.9.1/luabind/detail/call_function.hpp     

        /home/luabind-0.9.1/luabind/detail/call_member.hpp

      三个文件都进行下面的修改

      去掉 

          #elif BOOST_PP_ITERATION_FLAGS() == 1 

      更换为 

          #else
          #if BOOST_PP_ITERATION_FLAGS() == 1

      然后在源码底部加一个#endif

    7. 进入luabind根目录,执行命令 ./bjam --toolset=gcc debug 开始编译

    8. 稍等几秒后,即可在目录 /home/luabind-0.9.1/bin/gcc-4.4.7/debug/下产生编译出来的luabind动态库

    9. 注意:

        上面的gcc-4.4.7为当前系统中安装的gcc版本,在你那里,名字是你系统中的gcc版本名字

        debug 表编译的是debug版,当然,如果上面的编译命令中为 ./bjam --toolset=gcc release,则会编译release版

        若想编译luabind的静态库,则上面的编译命令为 ./bjam --toolset=gcc link=static debug 则会

        在/home/luabind-0.9.1/bin/gcc-4.4.7/debug/link-static/下产生编译出来的luabind静态库

   


    10. 笔者这里把刚才演示中编译出来的库文件(Debug版,动态库和静态库)上传了出来,可以直接拿去使用 

   

标签:0.9,5.1,centos,编译,luabind,lua,home
From: https://blog.51cto.com/u_15912066/5936258

相关文章

  • centos7 redis5.0以后版本 集群部署示例
    简言1.redis5.0版本以前的集群部署是使用ruby脚本完成的,略为复杂2.本篇博客讲解redis5.0版本以后的集群部署,由于集成到了create_cluster中(位置:redis根目录/utils/create-c......
  • centos7 redis5.0以前版本 集群部署示例 - 第一篇
    简言1.redis5.0版本以前的集群部署是使用ruby脚本完成的,ruby脚本的安装少略麻烦(主要原因是系统自动安装的版本太低,无法部署集群,必须手动安装)2.redis5.0版本以后的集群部署......
  • DELL服务器基于centos7安装OMSA
    DELL服务器基于centos7安装OMSA参考链接:https://www.cnblogs.com/sky-cheng/p/14951071.htmlhttps://www.dell.com/community/Systems-Management-General/Has-Centos7......
  • VMware安装Centos7超详细过程(图文)
    本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下1.软硬件准备软件:推荐使用VMwear,我用的是VMwear12镜像:CentOS7,如果......
  • Windows10/11上VirtualBox中安装CentOS Stream8前要做的事情
    Windows10/11中VirtualBox预安装CentOSStream8零.为什么要用虚拟机Windows是如何普及的?为什么这么多人在用Windows系统,个人愚见:Windows的容错比GNU+Linux做的可能好一......
  • Centos7 卸载自带的OpenJDK
    一、查询系统是否已经安装jdkrpm-qa|grepjava二、卸载已安装的jdkrpm-e--nodepsjava-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64rpm-e--nodepsjava-1.8.0-open......
  • centos8+zabbix6.0快速启用snmptrap
    1.先安装net-snmp的软件包括直接用dnfinstall+安装包名来安装[root@localhostbin]#rpm-qa|grepnet-snmpnet-snmp-5.8-22.el8.x86_64net-snmp-libs-5.8-22.el8.x86_......
  • 最新最全详细 在centos上使用 Minikube 安装 Kubernetes 教程并运行nginx服务以及go h
    最新最全详细在centos上使用Minikube安装Kubernetes教程,在安装完k8s单机集群后并运行一个nginx服务和一个go的httphelloserver服务本文已更新到Minikubev1.11.0......
  • centos7连接网络
    https://blog.csdn.net/jujudeyueyue/article/details/121358663?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167091800516800213055718%2522%252C%2522scm......
  • centos 7.9修改网卡名
    文档课题:centos7.9修改网卡名.1、系统检查[root@liujun~]#cat/etc/*releaseCentOSLinuxrelease7.9.2009(Core)NAME="CentOSLinux"VERSION="7(Core)"ID="centos"ID......