Magick++ 链接错误

2023-12-04

我这里有一个使用 Magick++(ImageMagick 接口)库的简单图像转换器代码。(Eclipse IDE)

#include <Magick++.h>
#include <string>
#include <iostream>

using namespace std;

using namespace Magick;

int main(int argc,char **argv) 
{ 
    Image image; 
    image.read("/home/usr1/test.tiff");
    image.write( "/home/usr1/test.bmp" ); 
    return 0;
}

我正在与arm-linux目标进行交叉编译。代码编译成功,但在链接部分,我遇到了未定义的引用错误。

/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x144): In function `vm_open':
ltdl/loaders/dlopen.c:194: undefined reference to `dlopen'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x158):ltdl/loaders/dlopen.c:198: undefined reference to `dlerror'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x16c): In function `vm_close':
ltdl/loaders/dlopen.c:212: undefined reference to `dlclose'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x17c):ltdl/loaders/dlopen.c:214: undefined reference to `dlerror'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x198): In function `vm_sym':
ltdl/loaders/dlopen.c:227: undefined reference to `dlsym'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x1ac):ltdl/loaders/dlopen.c:231: undefined reference to `dlerror'

我使用以下命令来编译代码:

/opt/Mx800SDK/vfitc/cross/bin/arm-linux-g++ -DMx870 -I/opt/Mx800SDK/vfitc/cross/arm-linux/include -I/usr/local/include/ImageMagick -I/opt/Mx800SDK/include -O2 -Wall -c -fmessage-length=0 -fno-strict-aliasing -o'main.o' '../main.cpp'

并链接:

/opt/Mx800SDK/vfitc/cross/bin/arm-linux-g++ -L/opt/Mx800SDK/lib -L/usr/local/lib/libMagick++ -o'imgConverter' ./main.o -lpthread -lMagick++ -lMagickWand -lMagickCore -ltiff -lz

我还需要其他库才能成功链接它吗?我链接正确吗?提前致谢。


尝试反转 Magick 库,添加MagickWand库(并将 libz 和其他基本映像库放在最后,以及动态链接器库):

... -lpthread -lMagick++ -lMagickWand -lMagickCore -lz -ldl

See 链接器顺序 - GCC为什么静态库的顺序很重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Magick++ 链接错误 的相关文章

  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • while循环中的变量初始化

    我有一个可以分块读取文件的函数 public static DataObject ReadNextFile 数据对象看起来像这样 public DataObject public string Category get set And ot
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 有什么方法可以重载 C# 中的扩展方法吗?

    我有以下模型模式 public abstract class PARENTCLASS public class CHILD A CLASS PARENTCLASS public static class EXTENSION public s
  • 你好,我最近正在开发我的新游戏,我遇到了*无限跳跃*的问题

    所以基本上当我按跳跃 空格键时我会跳跃但是如果我连续按空格键它 只是跳啊跳啊跳等等 我不想要我只想它跳一次 code if Input GetKeyDown space isGrounded velocity y Mathf Sqrt ju
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • 将错误代码映射到 C++ 中的字符串

    将错误代码从枚举映射到字符串的更有效方法是什么 在 C 中 例如 现在我正在做这样的事情 std string ErrorCodeToString enum errorCode switch errorCode case ERROR ONE
  • 如何使用 CSI.exe 脚本参数

    当你运行csi exe 安装了 Visual Studio 2015 update 2 您将得到以下语法 Microsoft R Visual C Interactive Compiler version 1 2 0 51106 Copyr
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 为什么表达式 a = a + b - ( b = a ) 在 C++ 中给出序列点警告?

    以下是测试代码 int main int a 3 int b 4 a a b b a cout lt lt a lt lt a lt lt lt lt b lt lt b lt lt n return 0 编译此命令会出现以下警告 gt g

随机推荐

  • 何时使用 cla()、clf() 或 close() 清除绘图

    Matplotlib 提供以下功能 cla Clear axis clf Clear figure close Close a figure window 我应该什么时候使用每个功能以及它的具体作用是什么 它们都做不同的事情 因为 matp
  • 没有 iPhone 是否可以发布 iPhone 应用程序?

    我正在为一个非营利组织开发一个简单的 iPhone 应用程序 我也为该组织做一些工作 我已经对各种模拟器进行了广泛的测试 我认为该应用程序已经准备就绪 我正在阅读有关在 App Store 上获取应用程序的过程 该过程的一部分似乎表明我需要
  • 在 Kotlin 中对具有默认参数的函数使用 callBy 时出错

    我尝试使用默认参数值调用函数 而不在 Kotlin 中添加参数 例如 class Test fun callMeWithoutParams value Double 0 5 value 0 5 fun callIt name String
  • 在对象自己的方法中替换对象的通用方法

    使用字符串可以做到这一点 a hello a upcase p a gt HELLO 但我该如何编写自己的方法呢 像这样的东西 虽然这显然不起作用 class MyClass def positify self 0 self max end
  • 如何将一组数组值组合成一个数组? [复制]

    这个问题在这里已经有答案了 我有以下数组 Array 14289 gt Array 0 gt Ability STROKE CLINIC Session Session 3 Tues June 28th Fri July 8th 9 2 0
  • 导致此错误的原因 - “致命错误:无法找到本地 grunt”

    我先删除了旧版本的 grunt 然后安装了新的 grunt 版本 然后出现了这个错误 D www grunt test grunt grunt cli grunt 命令行界面 v0 1 4 致命错误 无法找到本地 grunt 如果您看到此消
  • 在应用程序的生命周期内缓存 IServiceProvider 是否“安全”?

    我正在使用 ASP NET Core 及其内置 DI 容器 我正在使用无法更改的第三方库 NLog My Foo类具有依赖关系 通过构造函数注入 public class Foo private readonly IMyContext co
  • 盒装价值的寿命不够长

    我正在尝试在 Rust 中实现一个缺点列表作为练习 我已经成功解决了除此之外的所有编译器错误 Compiling list v0 0 1 file home nate git rust list home nate git rust lis
  • 为什么迭代 i32 向量会引用 i32 (&i32)?

    以下程序尝试对学生的成绩进行评分 use std io fn main let mut in0 String new io stdin read line mut in0 expect stdin err let n i32 in0 tri
  • WCF 服务返回“不允许的方法”

    在开发我的第一个 WCF 服务的过程中 当我尝试使用它时 我得到 不允许的方法 没有其他解释 我已经使用 ServiceContract 和 OperationContract 设置了界面 OperationContract void Fi
  • mssql 2个日期时间之间的30分钟时间间隔

    我有以下查询 我想获取 2 个日期时间之间 30 分钟间隔的日期时间 基本上我得到了它 但它是有限的 如果时间差超过 24 小时 则不会返回所有结果 例如 DateTime1 24 11 2016 18 00 00 DateTime2 25
  • javascript从多个范围中获取随机数

    我见过不同语言的不同实现 但是我还没有遇到 js 方法 本质上 我希望能够检索提供的范围数组内的随机值 var ranges min 2 max 50 min 500 max 600 etc 我有基本的最小最大函数 只是不知道如何有效地做到
  • 用于测试任何委托性能的通用函数

    当测试不同方法实现的相对性能时 我发现自己重写了与此类似的函数 private static long Measure int iterations Func
  • 当前播放音乐的曲目信息

    我正在实现一个与获取当前音乐曲目信息相关的应用程序 我正在使用以下代码来实现 public class CurrentMusicTrackInfoActivity extends Activity public static final S
  • PHP:Mysqli 用“select *”准备了语句

    这就是我目前从数据库获取的方式 if stmt mysqli gt prepare SELECT fname lname from table name where cno gt LIMIT 50 stmt gt bind param i
  • Dropbox Sync API Android - 更新缓存文件

    我在更新 Android 应用程序中现有的缓存文件时遇到麻烦 for DbxFileInfo fInfo fileList Log d TAG File Path fInfo path toString String fileName fI
  • toLocaleDateString() - 挪威语问题

    我在正确设置区域设置日期字符串格式时遇到问题 它突然停止为挪威语工作 我尝试过 不 不 和 nb 不 关于可能导致这种情况的原因有什么想法吗 我被困住了 Example console log new Date toLocaleDateSt
  • 用数组索引多维数组

    我有一个多维 NumPy 数组 In 1 m np arange 1 26 reshape 5 5 In 2 m Out 2 array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  • 固定小数精度[重复]

    这个问题在这里已经有答案了 我目前正在使用 std cout precision 5 设置我的输出的小数精度 然而 我宁愿拥有我的 输出总是输出 5 位小数 现在不会显示 0 我将如何更改我的代码以反映这一点 您正在寻找std fixed和
  • Magick++ 链接错误

    我这里有一个使用 Magick ImageMagick 接口 库的简单图像转换器代码 Eclipse IDE include