Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么每次都要重建这个Makefile?_Python_C++_Makefile - Fatal编程技术网

Python 为什么每次都要重建这个Makefile?

Python 为什么每次都要重建这个Makefile?,python,c++,makefile,Python,C++,Makefile,我有一个Makefile来构建一些简单的Python绑定。不幸的是,即使py11_bindings.cpp没有更改,在普通make或make all上,它每次都会重建。我检查了源文件是否会被意外触碰,但据我所知情况并非如此 PYTHON = /Library/Frameworks/Python.framework/Versions/3.5/bin CPP = c++ INC = -I/software/pybind11/include -I/software/eigen PYTHONCFG =

我有一个Makefile来构建一些简单的Python绑定。不幸的是,即使py11_bindings.cpp没有更改,在普通make或make all上,它每次都会重建。我检查了源文件是否会被意外触碰,但据我所知情况并非如此

PYTHON = /Library/Frameworks/Python.framework/Versions/3.5/bin
CPP = c++
INC = -I/software/pybind11/include -I/software/eigen
PYTHONCFG = `$(PYTHON)/python3.5-config --cflags --ldflags`
SRC = py11_bindings.cpp
TARGET = _chain.so

all: $(SRC)
    $(CPP) -O3 -shared -std=c++11 $(INC) $(PYTHONCFG) $^ -o $(TARGET)

clean:
    rm $(TARGET)

我完全不知道为什么会这样

我不是makefile专家,所以可能我没有使用正确的术语

但是:定义创建源文件,此时应列出要创建的目标。然后,您应该为每个目标列出依赖项,并描述如何创建它

因此,您的makefile应该如下所示:

all: $(TARGET)

$(TARGET) : $(SRC)
    $(CPP) -O3 -shared -std=c++11 $(INC) $(PYTHONCFG) $^ -o $(TARGET)

假:都是干净的。对不起,没有,没用。当我将我的makefile更改为您的建议时,也会发生同样的情况。@Michael发布您的更新代码以及make-rd的输出。@MaximeGroushkin:现在它确实可以工作了,可能我以前又犯了一个愚蠢的错误。很抱歉给你带来了困惑。