系列文章目录
第二章 安装LinuxCNC
第三章 基于Preempt -RT的IgH EtherCAT Master安装
第四章 基于Xenomai3.1的IgH EtherCAT Master安装
第五章 基于RTAI的IgH EtherCAT Master安装
第六章 修改MakeFile
杂记: Linux配置杂记
目录
前言
修改Igh EtherCAT主站的Makefile,实现基于例子的多文件编译
一、Makefile解析
在还没进行Makefile的修改时,在main函数中添加在test.c中的函数test(),即使已经做好头文件的包含和声明,由于Makefile的编译并没有链接,所以会产生未定义的错误,如图1
对Makefile的规则进行了解后(1),找到问题的关键在“目标:依赖”这一项中。
对原来的例程进行一次清理和重新生成后,我们可以知道目标的名字是什么,代码如下。
sudo make clean
sudo make
本文的路径为/ethercat_test/examples/dc_user (test),生成的目标名为ec_dc_user_example,因此以此为关键词在Makefile中搜索,可得结果如图2
ec_dc_user_example$(EXEEXT): $(ec_dc_user_example_OBJECTS) $(ec_dc_user_example_DEPENDENCIES) $(EXTRA_ec_dc_user_example_DEPENDENCIES)
@rm -f ec_dc_user_example$(EXEEXT)
$(AM_V_CCLD)$(ec_dc_user_example_LINK) $(ec_dc_user_example_OBJECTS) $(ec_dc_user_example_LDADD) $(LIBS)
对第一行的代码进行解析,第一行代码顶格,从Makefile规则可知此行代码为编译规则,其中

文章介绍了如何在LinuxCNC环境中安装和配置基于Preempt-RT、Xenomai和RTAI的IgHEtherCATMaster,并详细讲解了如何修改Makefile以实现多文件编译,解决函数未定义的错误,包括添加依赖和修改编译规则,使项目能正确编译和运行。
最低0.47元/天 解锁文章
8284

被折叠的 条评论
为什么被折叠?



