gpt4 book ai didi

c++ - 覆盖默认标题搜索路径

转载 作者:可可西里 更新时间:2023-11-01 17:32:55 25 4
gpt4 key购买 nike

我目前正在尝试让一个程序在我无法控制的系统上编译。

我遇到的问题是包含目录如下所示:

/usr/include:
gmpxx.h gmp.h

/usr/local/include:
gmp.h

在我的cpp文件中,我使用

#include <gmpxx.h>

这会在 /usr/include 中找到正确的文件,但是当 gmpxx.h 包含 gmp.h 时,它会从 /usr/local/include 中提取它,这会破坏构建。

现在,我看到了 3 个非常难看的问题解决方案

  1. 在我的 cpp 文件中,添加 #include </usr/include/gmp.h>
    拥有绝对包含路径非常丑陋且不可移植,我认为这类事情应该属于 Makefile 而不是源代码。

  2. 添加 -nostdinc标记到我的 makefile,并手动指定包含路径

  3. 创建指向我真正需要的库的本地符号链接(symbolic link),然后进行本地包含 (#include "gmp.h")

是否有我缺少的更好的解决方案?

最佳答案

包含的搜索路径按以下顺序获取:

因此,您可以使用前两个中的任何一个(对您的目的来说,哪个看起来更好/更方便)。

关于c++ - 覆盖默认标题搜索路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7988456/

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