除了之前的Q。
我尝试了很多sources,以找到如何为c ++安装taglib库并在我的项目中使用它的正确方法。
我包含路径
#include <taglib/tag.h>
我试过包括
#include <taglib>
但即使/usr/include/taglib
存在也无效。
我正在使用
编译我的项目g++ -Wall -pedantic -std=c++11 -ltaglib main.cpp -I taglib-1.11.1/toolkit
来自网站的演示
TagLib::FileRef f("Latex Solar Beef.mp3");
TagLib::String artist = f.tag()->artist(); // artist == "Frank Zappa"
引发
错误:'FileRef'不是'TagLib'TagLib :: FileRef的成员 f(&#34; Latex Solar Beef.mp3&#34;); ^ main.cpp:5:18:错误:预期';' 在'f'TagLib :: FileRef f之前(&#34; Latex Solar Beef.mp3&#34;); ^ main.cpp:6:25:错误:'f'未在此范围内声明TagLib :: String artist = f.tag() - &gt; artist(); //艺术家==&#34;弗兰克 扎帕&#34;
当我添加#include <taglib/fileref.h>
它抛出
main.cpp :(。text.startup + 0x48):未定义的引用
TagLib::FileRef::FileRef(char const*, bool, TagLib::AudioProperties::ReadStyle)' main.cpp:(.text.startup+0x50): undefined reference to
TagLib :: FileRef :: tag()const&#39; main.cpp :(。text.startup + 0x68):未定义引用TagLib::String::~String()' main.cpp:(.text.startup+0x70): undefined reference to
的TagLib :: FileRef ::〜FileRef()&#39; main.cpp :(。text.startup + 0x83):未定义引用 `的TagLib :: FileRef ::〜FileRef()&#39; collect2:错误:ld返回1退出 状态
安装和使用TagLib的正确方法是什么?
答案 0 :(得分:0)
通过添加此选项尝试在发布模式下进行编译:
-O3
答案 1 :(得分:0)
尝试在您的cmakelist.txt中写
target_link_libraries(your_executable tag)