使用“addinclude unistd”修改 Makefile

Posted

技术标签:

【中文标题】使用“addinclude unistd”修改 Makefile【英文标题】:Modifying a Makefile with "addinclude unistd" 【发布时间】:2017-10-19 09:19:04 【问题描述】:

所以我试图在我的 Raspberry Pi 上编译一个 C 程序,指令告诉我“addinclude uninstd”,然后是确切的代码: sed -i 's | #include <arpa / inet.h> | #include <arpa / inet.h> n #include <unistd.h> | g 'openmilight.cpp

所以,我相信说明是要修改 makefile,但我究竟在 Makefile 中添加了什么来包含这些库?

这是当前的整个 Makefile:

CC = g++
CFLAGS = -c -Wall
LIBS = -lrf24-bcm
SOURCES =  PL1167_nRF24.cpp MiLightRadio.cpp openmilight.cpp
BIN = openmilight

all: $(SOURCES) $(BIN)

$(BIN): $(SOURCES:.cpp=.o)
    $(CC) $^ -o $@ $(LIBS)

%.o: %.cpp
    $(CC) $(CFLAGS) -o $@ $<

clean:
      rm -f *.o $(BIN)

谢谢,我对使用 Makefiles 只是模糊熟悉,这让我很困惑。

如果有帮助,这是我尝试运行的确切代码: http://torsten-traenkner.de/wissen/smarthome/openmilight.php 它是德文的,这可能是它在翻译中丢失的原因。

【问题讨论】:

【参考方案1】:

该指令是修改文件openmilight.cpp 的sed 命令。与 makefile 无关。

只需在openmilight.cpp 的目录中执行bash 命令或手动添加包含:在preferred 编辑器中打开openmilight.cpp 并添加该行

#include <unistd.h>

紧接着

#include <arpa/inet.h>

【讨论】:

哦,好吧 sed 是一个 bash 命令。非常感谢,那个人把我甩了一段时间,根据他以前文件中的一些措辞,我认为是手动修改 makefile。

以上是关于使用“addinclude unistd”修改 Makefile的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django 的 m2m_changed 修改正在保存的内容 pre_add

修改Tomcat使用的JVM内存大小

内存管理

CentOS 7运维管理笔记----修改命令提示符颜色

Linux 下修改Tomcat使用的JVM内存大小

matlab中GUI的使用,调用m文件