我正在创建一个Qt小部件,其中包含我单独编写的后端表示。后端使用Magick ++,我可以从命令行编译它:
g ++ -c ../SpriteCreator/WriteGIF.cpp sprite.cpp -I ../SpriteCreator/
Magick++-config --cxxflags --cppflags
Magick++-config --ldflags --libs
-O2
但是当我尝试编译项目Qt Creator它告诉我
/home/tpope/obeyYourThirst/qtSpriteEditor/backend/sprite.cpp:15:错误:Magick ++。h:没有这样的文件或目录 #include< Magick ++ h取代;
我为Magick ++添加了路径.h到INCLUDEPATH,但现在它有类似的错误:
/home/tpope/obeyYourThirst/qtSpriteEditor/backend/sprite.cpp:66:错误:未定义引用`Magick :: InitializeMagick(char const *)'
每次使用Magick功能。它似乎不包括图书馆。我如何在Qt Creator中做到这一点?
答案 0 :(得分:0)
由于Qt Creator中的.pro文件(据我所知)用于生成Makefile,我们可以使用make的能力在shell上运行程序并保存其输出。
我已添加:
QMAKE_CXXFLAGS += $(shell Magick++-config --cppflags --cxxflags)
和
LIBS += $(shell Magick++-config --ldflags --libs)
到我的.pro文件,我可以添加:
#include <Magick++.h>
到我的程序没有编译错误,然后编译一个简单的例子(刚刚推出一个带有几个彩色像素的动画.gif)
这显然会让交叉编译变得有点棘手(我不知道如何引用外国图书馆),但这又是一个问题。