raz*_*tax 4 c++ ubuntu makefile
当我make
在Ubuntu终端中使用type时,我得到:
main.cc:5:30: fatal error: folder/file.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
该文件夹存在于工作目录中,file.h存在于指定的文件夹中.
当我键入ls
它时,它也列出了我的工作目录中的文件夹和文件.
奇怪的是,当我在geany中打开它并要求它在中找到该文件时
#include <folder/file.h>
Run Code Online (Sandbox Code Playgroud)
它发现它没有问题但是当它构建它时我得到了错误.
我需要设置一个标志,所以它包含文件夹吗?如果是这样,那看起来到底是什么样的?
这取决于您的C编译器,但"通常"当您使用< ... >
语法包含文件时,编译器将仅在命令行中使用该-I
标志指定的目录中查找这些头文件,以及各种内置系统目录.
值得注意的是,除非您明确添加到编译行,否则它通常不会查找当前工作目录-I.
.
或者,如果您使用的" ... "
形式#include
,那么它也将在当前工作目录中查找.
因此,要么切换到#include "folder/file.h"
,要么添加-I.
到您的编译行.
您需要使用引号而不是<>
include,这使得编译器首先在源文件的目录中搜索:
#include "folder/file.h"
Run Code Online (Sandbox Code Playgroud)
或者,将当前目录显式添加到包含路径
g++ c -I. main.cc
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22507 次 |
最近记录: |