首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有magick++的应用程序返回Magick++/Functions.h:14:10:致命错误:找不到'string‘文件

带有magick++的应用程序返回Magick++/Functions.h:14:10:致命错误:找不到'string‘文件
EN

Stack Overflow用户
提问于 2021-04-24 05:32:48
回答 1查看 51关注 0票数 0

我正在尝试使用ImageMagick在MacOS (Big Sur)中构建一个简单的C++应用程序

这是我的CMakeLists.txt:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.7)
project(HelloWorld)
add_definitions(-std=c++17)

set(CXX_FLAGS "-Wall")
set(CMAKE_CXX_FLAGS, "${CXX_FLAGS}")

add_executable(HelloWorld src/main.cpp)

add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 )
add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 )
find_package(ImageMagick COMPONENTS Magick++)
include_directories(${ImageMagick_INCLUDE_DIRS})
target_link_libraries(HelloWorld ${ImageMagick_LIBRARIES})

在我的main.cpp上,我只将#include <Magick++.h>放在文件的顶部

当我运行构建时,我得到了

/usr/local/Cellar/imagemagick/7.0.10-48/include/ImageMagick-7/Magick++/Functions.h:14:10: fatal error: 'string' file not found

你知道这是什么问题吗?我重新安装了imagemagick,但仍然收到相同的错误。

CMake版本为3.19

编辑:

似乎问题出在我的macOS设置上,我尝试只编译一个简单的hello world,但我在#include <iostream>上得到了同样的错误

关于如何修复/重置mac上的c++/gcc设置有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-24 22:36:18

我假设您使用自制来安装您的GCC,即"GNU编译器集合“,其中包括C++编译器g++。因此,为了获得版本号,您可以运行:

代码语言:javascript
复制
ls /usr/local/bin/g++*

示例输出

代码语言:javascript
复制
/usr/local/bin/g++-10

现在您需要告诉cmake使用该编译器,因此您将使用:

代码语言:javascript
复制
CXX=/usr/local/bin/g++-10 cmake ..
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67237075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档