使用“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的主要内容,如果未能解决你的问题,请参考以下文章