Windows 上与 taglib 的链接错误

2024-03-13

I built taglibWindows 的静态库如下。必须使用mingw,而不是VS。

  1. 查看git clone https://github.com/taglib/taglib.git git_taglib
  2. 已安装cmake使用来自 cmake.org 的 Win32 安装程序
  3. 配置cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=/C/taglib_package -DCMAKE_C_COMPILER=/C/MinGW4.4/bin/gcc.exe -DCMAKE_CXX_COMPILER=/C/MinGW4.4/bin/g++.exe -DENABLE_STATIC=ON -DENABLE_STATIC_RUNTIME=ON -DHAVE_ZLIB=0
  4. Compile mingw32-make.exe
  5. Install mingw32-make.exe install to C:\taglib_package

在我的 Qt 项目中,我像这样使用这个库

.pro

INCLUDEPATH+="C:/taglib_package/include/taglib"
QMAKE_LIBDIR += "C:/taglib_package/lib"
LIBS+= -lz -ltag

.cpp

#include "fileref.h"
#include "taglib.h"
...
TagLib::FileRef f("Z:/Documents/sample.mp3");
TagLib::String artist = f.tag()->artist();
std::cout<< "Artist is " << artist << std::endl;

这会导致以下链接错误

release/main.o:main.cpp:(.text+0x93): undefined reference to `_imp___ZN6TagLib8FileNameC1EPKc'
release/main.o:main.cpp:(.text+0xb3): undefined reference to `_imp___ZN6TagLib7FileRefC1ENS_8FileNameEbNS_15AudioProperties9ReadStyleE'
release/main.o:main.cpp:(.text+0xdf): undefined reference to `_imp___ZNK6TagLib7FileRef3tagEv'
release/main.o:main.cpp:(.text+0x101): undefined reference to `_imp___ZN6TagLib6StringD1Ev'
release/main.o:main.cpp:(.text+0x10a): undefined reference to `_imp___ZN6TagLib7FileRefD1Ev'
release/main.o:main.cpp:(.text+0x210): undefined reference to `_imp___ZN6TagLib7FileRefD1Ev'
release/main.o:main.cpp:(.text+0x2bd): undefined reference to `_imp___ZN6TagLib6StringD1Ev'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\taglib_experiment.exe] Error 1
mingw32-make: *** [release] Error 2
19:56:21: The process "C:\MinGW4.4\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project taglib_experiment (kit: Desktop)
When executing step 'Make'

该代码在 Mac 上运行良好。所以我认为罪魁祸首是lib。我应该如何编译库来解决上述链接错误?


Use the -DTAGLIB_STATIC编译时切换your code

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

Windows 上与 taglib 的链接错误 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 按成员序列化

    我已经实现了template
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 在日期/因子向量字段上使用 sapply - 包括递增值

    我有一个带有缺失值的日期字段 因子类转换为字符串 我想用每个缺失值的序列号来填充该字段 到目前为止 这是我的代码 f lt function x counter if x counter counter 1 return toString
  • 非阻塞 BIO_do_connect 当没有互联网连接时被阻塞

    我使用 Openssl 0 9 8x 如下 bio BIO new ssl connect ctx BIO get ssl bio ssl SSL set mode ssl SSL MODE AUTO RETRY BIO set nbio
  • 如何在黑莓中裁剪特定形状的图像?

    大家好 感谢阅读我的回答希望你能帮助我 我正在黑莓手机上进行图像裁剪 在我的应用程序中包含 3 个主要内容 1 将图像加载到屏幕上 2 选择裁剪区域的形状 3 在下一个屏幕上显示裁剪图像而不丢失其形状 第1步 我可以完成图像加载部分 步骤2
  • Tweepy:现在可以使用 Twitter 搜索 api 获取旧推文了吗?

    根据http www theverge com 2014 11 18 7242477 twitter search now lets you find any tweet ever sent http www theverge com 20
  • 使用批处理文件按键盘按键[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试开发一个批处理文件 它可以自动按向左箭头和向右箭头键 n 次 中间有一些暂停 有人可以帮我解决这个问题吗 P
  • 如何避免在 Scala 中调用 asInstanceOf

    这是我的代码的简化版本 怎样才能避免打电话asInstanceOf 因为这是一个设计不佳的解决方案的味道 sealed trait Location final case class Single bucket String extends
  • 使用框架会妨碍我掌握 JavaScript 吗?

    如果我一直用框架 自己什么都不做 我怎么能成为 JavaScript 高手呢 我问了一个关于 JavaScript 的问题 每个人都建议我使用框架 它不会向我展示 JS 的真正核心 而不是手动编码 你在自己发现JS的时候有没有编写自己的所谓
  • JavaFX 嵌套控制器 (FXML )

    In this http docs oracle com javafx 2 api javafx fxml doc files introduction to fxml html nested controllers教程中 有一个示例说明如
  • PHP foreach 循环中的多个索引变量

    是否有可能有一个foreach在 PHP 中使用多个 索引 变量循环 类似于以下内容 未使用正确的语法 foreach courses as course sections as section 如果没有 有没有好的方法可以达到相同的结果
  • springboot + webpack 开发服务器,重建后不会更改 localhost 捆绑文件

    点击这张图片 请阅读下面的内容 https i stack imgur com BYXDA png 1 第一张图片是运行 webpack dev server hot inline 之后的 第二张图片是我的html 我调用js文件的方式 我
  • 如何在 Xcode 8/Swift 3 中创建 iOS liveView [重复]

    这个问题在这里已经有答案了 我不知道如何在 Xcode 8 Swift 3 Playground 中创建和显示实时视图 如果 Apple 有关于 Playground 和实时视图的综合文档 我找不到它 而且我所有的在线搜索都显示 Xcode
  • 为什么OpenGL最初要设计成状态机?[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 处理 RequireJS require 函数中的先决条件加载失败

    我正在使用 AMD 的 RequireJS 使用这段代码 我在确保module1已加载 require module1 function module1 if module1 My function code 在某些情况下module1不可
  • 如何使用 ClientID 和 ClientSecret 在 Phonegap 内使用 Angularjs 登录 Google OAuth2

    我正在尝试使用 Angularjs 使用 Ionic 框架 通过 Google OAuth2 从我的 Phonegap 应用程序登录 目前我正在使用http phonegap tips com articles google api oau
  • Android蓝牙RSSI值总是返回-32768?

    我试图通过单击按钮获取已连接蓝牙设备的当前 RSSI 值 然而它总是只返回 32768 不知道出了什么问题 不过 我在第一次连接时就能够获得正确的 RSSI private Button OnClickListener buttonRSSI
  • 如何在反应本机模式中调暗背景?

    以下是我创建的反应本机模态 但仍然找不到如何调暗背景并在弹出模态周围透明 我没有使用任何外部库 并试图在没有库的情况下找到解决方案 是否可以用这种方式来做 我的模态组件 render let modal this state modalTy
  • Xpath 获取第二个 url 以及 href 标签中的匹配文本

    一个html页面有分页链接 1个设置在页面顶部 另一个设置在页面底部 使用 HtmlUnit 我目前正在使用页面上获取 HtmlAnchorgetByAnchorText 1 顶部的某些链接存在问题 因此我想使用 XPath 引用底部链接
  • svn 与 git 浅(稀疏)签出 - 分支、提交

    我有一个非常大的网络项目 有很多 pdf 图像 php 文件 我将文件作为单个项目导入到 svn 中 我使用 svn 浅签出来签出子树的一部分 然后使用工作副本中的分支和标记等来节省空间并加快签出时间 我想知道这是否可以用 git 实现 我
  • 如何在IOS7中使#key和@key可点击

    任何人都知道如何在 IOS7 中的评论文本中使 KEY 和 NAME 可点击 例如 instagram 的做法相同 我正在尝试使用 NSMutableAttributedString 但我不确定如何检测单击事件 在下图中单击 Usernam
  • Windows 上与 taglib 的链接错误

    I built taglibWindows 的静态库如下 必须使用mingw 而不是VS 查看git clone https github com taglib taglib git git taglib 已安装cmake使用来自 cmak