2013-04-20 147 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