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 的链接错误 的相关文章

随机推荐

  • 在日期/因子向量字段上使用 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