如何要求Linux g++正确编译包含在另一个头文件中的头文件
How to ask Linux g++ to correctly compile header files contained within another header file?
我有一个关于如何修复以下Linux Makefile代码的问题:
g++ -g -Wall -I"./" -I"../CameraControlLib" -I"./Cameras" -I"../../Utilities/DataServer" -o Server.o CameraControlLib/Server.cpp
在本例中,DataServerLib.h
包括CameraControlDefs.h
,如下所示。Ubuntu Linux g++
编译器解析包含文件DataServerLib.h
,正确使用-I
预处理器指令,如下所示。然而,g++
编译器告诉我,即使我将-I
子目录路径指向../../Utilities/DataServer
,也没有CameraControlDefs.h
这样的文件或目录。
In file included from CameraControlLib/DataServer.h:4:0,
from CameraControlLib/DataServer.cpp:8:
CameraControlLib/DataServerLib.h:9:31: fatal error: CameraControlDefs.h: No such file or directory
#include "CameraControlDefs.h"
^
compilation terminated.
我知道,如果我使用#include "SomeDir/CameraControlDefs.h"
,应该摆脱编译器错误消息。请让我知道是否有其他方法可以使用Linux g++
的全部选项来做到这一点。
下午好!这是一个解决方案,我刚刚测试了一个Makefile使用g++编译器
INCDIRS:= $(addprefix -I,$(shell find ..)/Utilities/DataServer -type d -print))
相关文章:
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- C++文件包含多行
- CMake 如何强制third_party库将项目文件包含在当前项目源目录中?
- 是否可以将要"ShellExecute"的文件包含在 dll 中?如果是这样,"ShellExecute"中的文件位置应该是什么?
- C++ 逐行从文件(包含空格)读取数据
- 在 C++ 中,.h 文件包含文件但不起作用
- 生成的资源文件包含奇怪的包含文件
- 可变参数类的文件包含问题
- 为什么文件命令声明可执行文件包含"debug_info"
- 可以将标头文件包含在多个源文件中,而无需重复保护
- 为什么将.HPP文件包含在.h文件中
- Qt C++:将所有库文件包含在项目文件夹中
- 有条件地将文件包含在C++标头中
- 将多个原型文件包含在一个项目中会导致protobuf_AssignDescriptorsOnce()已经有一个主体
- 有没有办法将文件包含在C++中的所有项目文件中
- 将外部.asm文件包含到C++代码中
- 什么是"pch.h",为什么需要将其作为第一个头文件包含在内?
- 该头文件包含DirectX 12中的ThrowIfFailed()
- QT C :函数的多个定义当Header文件包含在MainWindow.h中时
- QT创建者错误地处理标头文件包含来自Directory