我正在创建一个带有我单独编写的后端表示的 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: error: Magick++.h: No such file or directory #include < Magick++.h>
我把 Magick++.h 的路径添加到 INCLUDEPATH 中,但现在它有类似这样的错误:
/home/tpope/obeyYourThirst/qtSpriteEditor/backend/sprite.cpp:66: error: undefined reference to `Magick::InitializeMagick(char const*)'
每次使用 Magick 函数。它似乎不包括图书馆。我如何在 Qt Creator 中执行此操作?
最佳答案
由于 Qt Creator 中的 .pro 文件(据我所知)用于生成 Makefile,我们可以使用 make 的功能在 shell 上运行程序并保存其输出。
我已经添加了:
QMAKE_CXXFLAGS += $(shell Magick++-config --cppflags --cxxflags)
和
LIBS += $(shell Magick++-config --ldflags --libs)
到我的 .pro 文件,我能够添加:
#include <Magick++.h>
在我的程序没有编译错误的情况下,然后编译一个简单的例子(只需制作一个带有几个彩色像素的动画 .gif)
这显然使交叉编译之类的事情变得有些棘手(我不知道如何引用国外库),但这是另一个问题。
关于c++ - 在 Qt Creator 中使用 Magick++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33659208/