【发布时间】:2012-06-11 10:42:44
【问题描述】:
我一直在使用 makefile 来编译程序,而我刚刚开始使用 image magick 库,我显然做错了。
我添加的行是:Magick++-config --cppflags --cxxflags --ldflags --libs
这是我的makefile,在运行make时我被告知(链接器?)找不到Magick++.h
CFLAGS = -g -fPIC
SOURCES= $(wildcard *.cpp)
OBJECTS=$(patsubst %.cpp, %.o, $(SOURCES))
TARGET=$(lastword $(subst /, ,$(realpath .)))
LINKS= -lcprocessing -lglut -lGLU -lGL
all: $(TARGET)
@echo $(TARGET) built
$(TARGET): $(OBJECTS)
@g++ $(CFLAGS) $(LINKS) -o $@ $(OBJECTS) `Magick++-config --cppflags --cxxflags --ldflags --libs`
clean:
rm -rf $(OBJECTS) $(TARGET)
但是,运行:
g++ -lcprocessing -lglut -lGLU -lGL `Magick++-config --cppflags --cxxflags --ldflags --libs` Spot.cpp -o Spot
编译并且工作正常。我在这里错过了什么?
【问题讨论】:
-
在完全相同的环境中给出完全相同的命令会产生完全相同的结果(不受竞争条件的影响)。所以有些东西必须是不同的。不幸的是,我们无法确定,因为您没有提供
make运行的相关输出。在任一环境中检查Magick++-config的输出也可能会有所帮助。
标签: c++ makefile g++ imagemagick