![](/img/trans.png)
[英]How to use valgrind analyser in Qt creator for static library project
[英]How do I setup TagLib 1.11.1 as a static library for my Qt Creator project on OS X?
我正在 Qt Creator(在 OS X 上)中處理 C++ 項目,我想使用 TagLib。 經過大量的在線研究,我正在努力弄清楚如何才能在我的項目中使用 TagLib 庫。
到目前為止,我有:
taglib-1.11.1.tar
並解壓縮內容。對此的任何幫助將不勝感激,謝謝。
編輯:
當我添加外部庫時,以下內容將添加到 my.pro 文件中:
win32:CONFIG(release, debug|release): LIBS += - L$$PWD/../../../Libraries/taglib-1.11.1/taglib/release/ -ltag
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/debug/ -ltag
else:mac: LIBS += -F$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -framework tag
else:unix: LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag
INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
DEPENDPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
然后我運行 qmake,項目構建並運行良好。 但是,如果我嘗試執行類似#include <tag.h>
的操作,則會收到錯誤消息。 對於這個例子,它說'tstring.h' file not found #include "tstring.h"
。 然后,當我刪除錯誤行時,它會在我運行它時給出不同的錯誤framework not found tag
linker command failed with exit code 1 (use -v to see invocation)
。
編輯:
代碼 in.pro 更改為:
#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/release/ -ltag
#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/debug/ -ltag
LIBS += -F$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag
#else:unix: LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag
INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
DEPENDPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
現在我得到了library not found for -ltag
。
這是../Libraries/taglib-1.11.1
下文件的圖像以及我在 CMake鏈接中使用的選項。
編輯:
我使用以下內容安裝在其中:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release
make
sudo make install
現在庫中的文件目錄如下所示。 然后我在Qt中重新添加了外部目錄。 所以現在 my.pro 文件包含:
LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag
INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
DEPENDPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
PRE_TARGETDEPS += $$PWD/../../../Libraries/taglib-1.11.1/taglib/libtag.a
現在它運行良好,除非我嘗試執行#include <tag.h>
之類的操作並且它給出錯誤'tstring.h' file not found
。
如果只構建taglib而不安裝它。
你應該有以下幾點:
INCLUDEPATH += \
/path/to/taglib_source/taglib \
/path/to/taglib_source/taglib/toolkit \
/path/to/taglib_builddir/
LIBS += \
-L/path/to/taglib_builddir/taglib \
-ltag
如果您使用默認值安裝了taglib:
INCLUDEPATH += \
/usr/local/include/taglib
LIBS += \
-L/usr/local/lib \
-ltag
使用 Cmake 執行此操作:
CMakeLists.txt
add_subdirectory ("[path]/taglib")
add_library(taglib STATIC) # use SHARED for dynamic linking
[大量代碼...] [在add_executable(...)
之后]
target_link_libraries(${PROJECT_NAME} PRIVATE
[optionally other libs]
# id3 tags
taglib
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.