gpt4 book ai didi

c++ - 包括文件冲突解决

转载 作者:行者123 更新时间:2023-11-30 03:44:48 26 4
gpt4 key购买 nike

我有一个在 Linux 上使用 g++ 构建的 C++ 项目。我有两个“包含目录”,我必须使用 -I 添加为参数。问题是在这些目录中的每一个中,我都有一些重叠和通用的文件。因此当我有

g++ -o program program.cpp -I/foo/include -I/bar/include 

我收到这样的编译器警告:

stdint.h:174:0: warning: "__UINT64_C" redefined [enabled by default]
#define __UINT64_C(c) c ## ULL

有选择地包含文件以避免遇到此类问题的最佳方法是什么?

最佳答案

您的问题似乎更多是由于定义重叠而不是碰巧具有相同名称的文件。但无论哪种方式,我都建议采用以下修复方法:

不要在应用程序的同一个文件中同时使用这两个库中的文件。有一些使用第一个库的文件和一些使用第二个库的文件。使用第一个库的文件使用其包含路径进行编译。使用第二个库的文件使用其包含路径进行编译。

如果您确实需要在同一代码中集成对两个库的调用,只需将一个或两个库包装在一个经过净化的接口(interface)中,该接口(interface)的文件和标识符名称不会与您的项目名称冲突。

关于c++ - 包括文件冲突解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35234791/

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