我正在尝试编译源文件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标志时,如何提及路径?
答案 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>
。