[英]file not found error when trying to include id3lib header
我下載了id3lib並將目錄放置在main.cpp目錄中,但是g ++和visual studio都給出了未找到的文件/目錄和“未定義”錯誤
這是我的main.cpp:
#include <iostream>
#include <id3lib-3.8.3/include/id3/tag.h>
int main() { std::cout << "hi"; }
g ++ main.cpp提供:
main.cpp:2:46: fatal error: id3lib-3.8.3/include/id3/tag.h: No such file or
directory
#include <id3lib-3.8.3/include/id3/tag.h>
如果我使用“”而不是<>,則會出現此錯誤:
id3lib-3.8.3/include/id3/tag.h:32:30: fatal error: id3/id3lib_frame.h: No
such file or directory
#include <id3/id3lib_frame.h>
僅將其放在主文件旁邊是不夠的。 如您在第一種方法中看到的那樣,當在#include
<>
使用#include
,找不到它,這是因為(從此處復制):
對於
#include <filename>
,預處理器通常以實現依賴方式進行搜索,通常在編譯器/ IDE預先指定的搜索目錄中進行搜索。 此方法通常用於包括標准庫頭文件。
您沒有告訴編譯器在哪里尋找id3lib-3.8.3/include/id3/tag.h
因此<>
對您不起作用。
然后您嘗試了""
。 它找到了id3lib-3.8.3/include/id3/tag.h
但是在tag.h
有#include <id3/id3lib_frame.h>
,所以回到第一種方法的問題,對嗎?
您需要做的就是告訴編譯器/ IDE在哪里尋找這些文件。 在Visual Studio中,右鍵單擊項目文件,然后單擊屬性-> C / C ++->常規->其他包含目錄並添加包含庫( $(ProjectDir)id3lib-3.8.3/include/
或$(SolutionDir)id3lib-3.8.3/include/
)。 然后,您的第一種方法應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.