gpt4 book ai didi

c++ - 如何要求 Linux g++ 正确编译另一个头文件中包含的头文件?

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:46 31 4
gpt4 key购买 nike

我有一个关于如何修复以下 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++ 编译器使用 -I 预处理器指令正确解析包含文件 DataServerLib.h,如下所示。但是,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++ 选项来执行此操作。

最佳答案

下午好,这是我刚刚使用 g++ 编译器在 Makefile 中测试的解决方案

INCISORS := $(添加前缀-IN,$(shell find ../Utilities/DataServer -type d -print))

关于c++ - 如何要求 Linux g++ 正确编译另一个头文件中包含的头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32995962/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com