![](/img/trans.png)
[英]Getting errors when trying to compile program using boost and ncurses libraries
[英]Errors while trying to compile with external libraries
我已經下載了mimetic庫安裝文件,並按照INSTALL說明進行操作。
./configure
檢查一系列事物后創建make文件的腳本。
make
在原始文件夾中出現不同的.o和.lo文件后,編譯cpp文件。
make install
似乎做了很多,但我似乎唯一注意到的是,一個模仿目錄出現在/ usr / local / include下,包含所有頭文件。
比我嘗試編譯最簡單的主文件可能:(在庫網站提供: 原始示例 )
#include <mimetic/mimetic.h>
using namespace mimetic;
int main()
{
MimeEntity me;
return 0;
}
我正在使用以下命令進行編譯(在CentOS 5.7上,gcc版本:4.1.2):
g++ mimetic.cpp
我得到的錯誤:
/tmp/ccWnsteO.o: In function `main':
mimetic.cpp:(.text+0x80): undefined reference to `mimetic::MimeEntity::MimeEntity()'
mimetic.cpp:(.text+0x91): undefined reference to `mimetic::MimeEntity::~MimeEntity()'
collect2: ld returned 1 exit status
據我所知,找到了頭文件,但缺少源/庫本身。
當我搜索mimeentity時,MimeEntity構造函數聲明出現在:/usr/local/include/mimetic/mimeentity.h中我得到以下內容:
/home/mimetic-0.9.7/mimetic/mimeentity.o
/home/mimetic-0.9.7/mimetic/mimeentity.h
/home/mimetic-0.9.7/mimetic/mimeentitylist.h
/home/mimetic-0.9.7/mimetic/mimeentity.cxx
/home/mimetic-0.9.7/mimetic/.libs/mimeentity.o
/home/mimetic-0.9.7/mimetic/mimeentity.lo
/home/mimetic-0.9.7/mimetic/.deps/mimeentity.Plo
/usr/local/include/mimetic/mimeentity.h
/usr/local/include/mimetic/mimeentitylist.h
我嘗試過使用庫的搜索路徑,但出現了同樣的錯誤
g++ mimetic.cpp -L/home/mimetic-0.9.7/mimetic/
當我嘗試使用該行編譯主mimetic.cpp文件時,發生了其他奇怪的事情
MimeEntity me;
變成
MimeEntity me();
它匯編。
您收到鏈接器錯誤只是因為編譯測試源文件時沒有引用庫。 它需要是這樣的:
g++ mimetic.cpp -l<libraryname>
它在你添加大括號時編譯的原因是你真的聲明了一個名為'me'的函數,它返回一個MimeEntry。 雖然它編譯,但它沒有做你想要的。
您用來構建模仿示例的命令似乎不完整。 您正在指定庫搜索補丁(-L),但不指定庫本身。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.