動態庫標頭檔案包含系統的庫的問題

2021-06-23 06:36:58 字數 1075 閱讀 8292

動態庫編譯的時候沒問題,為什麼我用其它檔案使用的時候說:error: qdomnode: no such file or directory,包含路徑什麼的我都做了,不然也不會只有這乙個錯誤。這邊不懂求解答。因為m_node不是指標,所以不能像指標那樣只宣告,不包含。

#ifndef kewanxml_h

#define kewanxml_h

#include "kewanxml_global.h"

#include

qt_begin_namespace

class qfile;

class qdomdocument;

class qdomelement;

qt_end_namespace

class kewanxmlshared_export kewanxml {

public:

//建立xml

kewanxml();

kewanxml(const qstring& rootname);

~kewanxml();

//寫入xml

void addroot(const qstring& rootname);

void addelement(const qstring& elemname, const qstring& elemtext);

void writetofile(const qstring& filename);

void closefile();

//讀取xml

void prepare(const qstring& filename);

bool next();

qstring text();

private:

qfile*          m_pfile;

qdomdocument*   m_pdoc;

qdomelement*    m_proot;

qdomelement*    m_pelem;

qdomnode        m_node;

bool            m_isinit;

#endif // kewanxml_h

標頭檔案,庫檔案,重複包含

a.c include include a.h include b.h void main void a.c end include b.h end int i 3 b.h end 本例中主程式在a.c中定義。正常情況下,這三個檔案都在同一目錄下,進入該目錄,然後執行 cc c a.c表示編譯a.c...

gcc和 的包含標頭檔案庫檔案方法

l引數就是用來指定程式要鏈結的庫,l引數緊接著就是庫名,那麼庫名跟真正的庫檔名有什麼關係呢?就拿數學庫來說,他的庫名是m,他的庫檔名是libm.so,很容易看出,把庫檔名的頭lib和尾.so去掉就是庫名了。好了現在我們知道怎麼得到庫名,當我們自已要用到乙個第三方提供的庫名字libtest.so,那麼...

重複包含標頭檔案的問題

在每個標頭檔案的最前端和最後端加以下 ifndef x 其中 x為唯一的標誌符 define x.endif 條件編譯,解決的是標頭檔案重複包含的問題 比如 a.h b.h 這個b.h是包含a.h的 include a.h include b.h 如果預處理階段,寫成這樣,實際上a.h就會插入兩次了...