• c++ Makefile clion ide remote构建


    内容概要: clion 中完成 makefile项目经典三步骤: ./autogen.sh ; ./configure ; make.
    关键错误解决办法使得makefile项目有IDE可用。

    clion完成前两步骤 autogen.sh ; configure

    libffi为例

    clion 2021.2.2 运行在win10上

    编译机centos8stream :c8s, 已经安装好 cmake、gdb、gcc、g++等构建工具

    win10上clone libffi:

    cd d:\
    #https://github.com/libffi/libffi.git
    git clone https://github.91chi.fun//https://github.com/libffi/libffi.git
    cd d:\libffi\
    git checkout v3.4.2
    #切换到 tag  v3.4.2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    win10上 右键 d:\libffi\ 以clion打开

    clion : settings -> ToolChains : + remote host : ssh 远端linux编译机c8s

    clion : settings -> Makefile: pre-configuration command:

    pwd ;  env; rm -f aclocal.m4;  sh -x ./autogen.sh && sh -x  ./configure
    
    • 1

    远端编译机clone libffi

    #https://github.com/libffi/libffi.git
    cd /home/z/
    git clone https://github.91chi.fun//https://github.com/libffi/libffi.git
    #/home/z/libffi/.git
    cd /home/z/libffi/
    git checkout v3.4.2
    #切换到 tag  v3.4.2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    clion “Reload Makefile Project”

    在这里插入图片描述
    此时远端命令会报错"autoreconf: libtoolize failed with exit status: 1"
    报错原因是因为 clion将项目目录d:/libffi/上传到远端linux机的目录/tmp/libffi/的过程中, 对其中的某些文件做了修改或是自作聪明的生成了某些文件

    比如aclocal.m4是clion “Reload Makefile Project” 是自己生成的,但aclocal.m4应该是d:\libffi\autogen.sh生成的才对,所以必然报错

    clion “Reload Makefile Project” 远端命令报错解决办法是 :

    1. 原始办法: 先 用 正确的目录 /home/z/libffi/ 覆盖 /tmp/libffi/, 再 clion “Reload Makefile Project”

    2. 改命令即可: 直接在 “pre-configuration command” 中 做 覆盖 , 即 "pre-configuration command:"改为:

    #clion : settings -> Makefile:  pre-configuration command:
    pwd ;  env; cp -rfv /home/libffi/* /tmp/libffi/ ;  sh -x ./autogen.sh && sh -x  ./configure
    
    • 1
    • 2

    clion 完成make

    此时简单了, clion已经列出了make目标列表,直接选择目标 并build即可
    在这里插入图片描述

  • 相关阅读:
    分析类的初始化
    5G高算力智能模组:引领AIoT进入摩尔定律时代
    C++ 虚函数表原理和类的内存分布
    JBoss漏洞:Jboss未授权访问漏洞
    使用DBeaver自动生成ER图
    每日一题 1155. 掷骰子等于目标和的方法数(中等,动态规划,前缀和)
    可重入函数与不可重入函数
    速卖通店铺销量怎么提升?
    【云原生 · Kubernetes】部署高可用kube-scheduler集群
    海外工具类产品深度分析 #2
  • 原文地址:https://blog.csdn.net/hfcaoguilin/article/details/125997503