尝试在 g++ 中使用 -I 选项
Trying to use -I option with g++
我正在尝试编译一个源文件 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: fatal error: odb/sqlite/database.hxx: No such file
or directory #include
^ compilation terminated.
在为 g++ 使用 -I 标志时如何提及路径?
由于错误消息提到了路径的 'odb' 部分,我会将其从 -I 标志中删除
假设您想在 .cpp
文件中使用 database.hxx
。然后在你的 .cpp
文件中你应该写:
#include "database.hxx"
并且为了编译,您应该提及 .h
所在的路径。所以在你的情况下它会是。
-I /home/terry/Downloads/libodb-2-4-0/odb/sqlite/
根据您粘贴的错误,您的包含命令似乎是:
#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
+ include = 精确路径。
我看到你的错误提到你使用 #include <odb/sqlite/database.hxx>
。尝试将其更改为 #include <database.hxx>
.
我正在尝试编译一个源文件 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: fatal error: odb/sqlite/database.hxx: No such file or directory #include ^ compilation terminated.
在为 g++ 使用 -I 标志时如何提及路径?
由于错误消息提到了路径的 'odb' 部分,我会将其从 -I 标志中删除
假设您想在 .cpp
文件中使用 database.hxx
。然后在你的 .cpp
文件中你应该写:
#include "database.hxx"
并且为了编译,您应该提及 .h
所在的路径。所以在你的情况下它会是。
-I /home/terry/Downloads/libodb-2-4-0/odb/sqlite/
根据您粘贴的错误,您的包含命令似乎是:
#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
+ include = 精确路径。
我看到你的错误提到你使用 #include <odb/sqlite/database.hxx>
。尝试将其更改为 #include <database.hxx>
.