2013-04-20 231 views
0

我需要在我的項目中包含來自sqlite3x庫(或來自sqlite)的頭文件。我只是Qt Creator中創建新項目,並添加了的.pro文件下面幾行:不能包含頭文件

INCLUDEPATH + = $$報價(d:/libs/libsqlite3x-2007.10.18)INCLUDEPATH + = $ $報價(d:/庫/ SQLite的,合併-3071502)

然後我試着包括

#include <sqlite3x.hpp> 

和編譯。

無法打開包含文件: 'sqlite3.h':沒有這樣的文件或目錄

爲什麼?

如果我寫

#include <sqlite3.h> 

我已經得到了同樣的錯誤。

當我編寫這個預處理指令時,Qt Creator給了我一個自動完成功能,如果我在這一行上按F2,它會打開這個文件。

http://pastie.org/7670341 http://pastie.org/7670574

+0

你可以添加dir或ls -l命令的輸出,證明這個文件存在嗎? – PiotrNycz 2013-04-20 05:49:02

+0

@PiotrNycz完成 - http://pastie.org/7670341 – FrozenHeart 2013-04-20 05:56:22

+0

你可以從構建日誌中顯示編譯器命令行嗎? – 2013-04-20 06:10:39

回答

0

你需要

INCLUDEPATH += $$quote(D:/libs/libsqlite3x-2007.10.18) $$quote(D:/libs/sqlite-amalgamation-3071502) 

如果你看到http://pastie.org/7670574 這些都是包括指令

-I 「d:\庫\ libsqlite3x-2007.10.18」 -I「D:\ libs \ Qt \ Qt5.0.0 \ 5.0.0 \ msvc2010 \ include」-I「D:\ libs \ Qt \ Qt5.0.0 \ 5.0.0 \ msvc2010 \ include \ QtWidgets」-I「D :\ \庫的Qt \ Qt5.0.0 \ 5.0.0 \ msvc2010 \ include \ QtSql「-I」D:\ libs \ Qt \ Qt5.0.0 \ 5.0.0 \ msvc2010 \ include \ QtGui「-I」D:\ libs \ Qt \ Qt5.0.0 \ 5.0。 0 \ msvc2010 \ include \ QtCore「-I」發佈「-I」。「 -一世」。」 -I 「d:\庫\ Qt的\ Qt5.0.0 \ 5.0.0 \ msvc2010 \ mkspecs \ Win32的msvc2010」

如果你看看 - 你看不到D:/libs/sqlite-amalgamation-3071502。您的構建工具不會獲取目錄&將其添加到INCLUDEPATH,因爲只有它只拾取一條INCLUDEPATH行 - 所以兩個行都以相同的空格分隔INCLUDEPATH

+0

不幸的是,它並沒有幫助... – FrozenHeart 2013-04-20 06:33:08

+0

@NikitaTrophimov你做什麼輸出與上述? – user93353 2013-04-20 06:33:45

+0

http://pastie.org/7670690 – FrozenHeart 2013-04-20 06:49:32