gpt4 book ai didi

makefile - 简单的 Makefile 不采用包含路径

转载 作者:行者123 更新时间:2023-12-01 12:45:57 24 4
gpt4 key购买 nike

以下是我的生成文件。但它在构建过程中不采用包含路径。

SHELL   = /bin/sh
CC = g++
FLAGS =
CFLAGS = -fPIC
TARGET = my_bridge.so
INC=-I/my_custom_path/include/ -I/my_custom_path/include/linux

SOURCES = $(shell echo *.cpp)
HEADERS = $(shell echo *.h)
OBJECTS = $(SOURCES:.cpp=.o)

all: $(TARGET)

$(TARGET): $(OBJECTS)
$(CC) $(FLAGS) $(INC) $(CFLAGS) -o $(TARGET) $(OBJECTS)

当我构建时,我得到以下行

g++    -c -o my_bridge.o my_bridge.cpp

最佳答案

您的 $(TARGET): $(OBJECTS) 规则告诉 make 如何从 my_bridge.o 生成 my_bridge.so,但是你没有给出解释如何首先制作 my_bridge.o 的规则。 make 因此依赖于它的隐式规则,它为您提供您所看到的命令。您可以定义自己的规则来编译 .cpp 文件,例如

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

或者将您的 include 指令放在 $(CXXFLAGS) 中,它由 make 的默认规则使用(参见 https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html#Catalogue-of-Rules)

关于makefile - 简单的 Makefile 不采用包含路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15965390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com