在 CMake 中设置路径(C++、ImageMagick)
我正在尝试向使用 CMake 开发的更大的 C++ 项目添加一些内容。在我添加的部分中,我想使用Magick++。
如果我只编译我的小示例程序,
#include <Magick++.h>
int main()
{
Magick::Image image;
return 0;
}
它
g++ -o example example.cxx
会失败,因为它找不到“Magick++.h”。
如果我使用
g++ -I /usr/include/ImageMagick -o example example.cxx
我会收到“未定义的引用”错误。
如果我按照 http://www.imagemagick.org/script/magick++.php 并使用
g++ `Magick++-config --cxxflags --cppflags` -o example example.cxx `Magick++-config --ldflags --libs`
它进行编译。
现在: 如何将其合并到使用 CMake 的大型项目中?我该如何更改 CMakeLists.txt?
I'm trying to add something to a larger C++ project which is developed using CMake. In the part I'm adding, I want to use Magick++.
If I'm only compiling my small example program
#include <Magick++.h>
int main()
{
Magick::Image image;
return 0;
}
with
g++ -o example example.cxx
it fails since it doesn't find "Magick++.h".
If I'm using
g++ -I /usr/include/ImageMagick -o example example.cxx
I get "undefined reference" errors.
If I follow the instructions on http://www.imagemagick.org/script/magick++.php and compile using
g++ `Magick++-config --cxxflags --cppflags` -o example example.cxx `Magick++-config --ldflags --libs`
it works.
Now:
How do I incorporate this into the larger project that uses CMake? How do I have to change the CMakeLists.txt?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本的 CMake 发行版中有 FindImageMagick.cmake 模块,所以你很幸运。
您应该将这样的内容添加到 CMakeLists.txt:
之后,您可以使用以下变量:
所以您可以这样做
There is FindImageMagick.cmake module in the basic CMake distribution, so you are lucky.
You should add something like this this to the CMakeLists.txt:
After that, you can use following variables:
So you can do just