尝试在g ++中使用-I选项

时间:2015-06-24 12:38:52

标签: c++ terminal g++ odb

我正在尝试编译源文件driver.cxx,其包含文件中有一个名为

的库

此文件的路径为/home/terry/Downloads/libodb-2-4-0/odb/sqlite/database.hxx

编译它我输入以下内容:

g++ -c driver.cxx -I/home/terry/Downloads/libodb-2.4.0/odb

获取消息

  

driver.cxx:10:35:致命错误:odb / sqlite / database.hxx:没有这样的文件   或目录#include                                      ^编译终止。

在为g ++使用-I标志时,如何提及路径?

4 个答案:

答案 0 :(得分:3)

根据您粘贴的错误,看起来您的include命令是:

#include "odb/sqlite/database.hxx"

如果是这样,您的-I选项应该没有odb目录(因为它已在包含中提及):

-I/home/terry/Downloads/libodb-2.4.0/

总而言之,与include连接的-I应该是确切的路径。

如果你决定加入以下内容,则意味着:

#include "database.hxx"

您的-I选项应为:

-I/home/terry/Downloads/libodb-2.4.0/odb/sqlite

同样,-I +包含=确切路径。

答案 1 :(得分:1)

由于错误消息提及了“odb'我将从-I flag

中删除它的路径的一部分

答案 2 :(得分:0)

我们假设您要在Microsoft Distributed Transaction Coordinator文件中使用"Component Services" -> "My Computer" -> "Distributed Transaction Coordinator" -> "Local Service DTC"。然后在你的database.hxx文件中写下:

.cpp

对于编译,您应该提到.cpp存在的路径。所以在你的情况下它会是。

#include "database.hxx"

答案 3 :(得分:0)

我可以看到您的错误提到您使用#include <odb/sqlite/database.hxx>。尝试将其更改为#include <database.hxx>