码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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即可
    在这里插入图片描述

  • 相关阅读:
    SpringBoot 如何快速过滤出一次请求的所有日志?
    python-oauth2实现开放接口
    [Vue3 博物馆管理系统] 使用Vue3、Element-plus的Layout 布局构建组图文章
    HTML进阶
    R语言ggplot2可视化地图并使用scale_fill_gradient函数自定义设置地图颜色刻度为灰色梯度刻度(grey gradient scales)
    一文搞定vim,从安装到入门到精通,助你成功入门vim
    力扣题解( 最长递增子序列的个数)
    转运RNA(tRNA)甲基化修饰7-甲基胞嘧啶(m7C)|tRNA-m7G
    springcloud的负载均衡两种实现方式
    Python + SQLAlchemy操作MySQL数据库(ORM)
  • 原文地址:https://blog.csdn.net/hfcaoguilin/article/details/125997503
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号