• 已解决 44689 个问题
  • 已帮助 5889 位优秀工程师

同一个编译器希望引用不同头文件的方案

9604a3b72d92b876 2020-11-27 浏览量:103

我有可能使用同一编译器(比如clang)给不同板子做编译,所引用的头文件名字相同,但目录不同

我知道可以用/etc/profile中间修改
export CPLUS_INCLUDE_PATH=/usr/include/
方式增加路径,但在文件名冲突的情况下如何处理呢?
总不至于我换一个板子,就要重配一次profile吧?


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 每次编译的时候,从编译器引入,不同的运行环境引用不同库。

    例如在32位windows运行可以用clang -I /usr/include/win32 XXX.c

    在本地运行无需引用,直接写clang -I XXX.c

    在liteos下使用clang -I /usr/include/arm-liteos XXX.c

    编译后的文件就可以在对应平台使用了。

    但是要注意,每个平台都需要设定对应的 -target,不然即使引用正确库,得到的结果也是错误的。​

    • 发布于 2020-11-29
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 我想你可能需要利用一些工具来组织你的代码和相应配置。比如针对不同板子的编译项目,有特定的引入(修改)环境变量的过程,让相应的头文件搜索、库等等变成合适的。
    • 发布于2020-12-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般编译器会有个environment setup文件,那里会指定相关路径,每次source一下就行
    • 发布于2020-12-26
    • 举报
    • 评论 0
    • 0
    • 0

同一个编译器希望引用不同头文件的方案