C++ 解决要编译的工程和依赖工程重名文件夹的问题

假设这样一个场景 A 是待编译主要工程,B 是依赖的三方库

A 的目录树是

src
├── common
│   ├── base_type.cpp
│   └── base_type.h
└── main.cpp

B 的目录树是

include
├── common
│   └── base_type.h
└── interface
    └── interface.h

我的 A 在编译的时候,指定引用了 B 的头文件(include 文件夹),然后 A 的 main.cpp 写了

#include "common/base_type.h"

这个时候,就不知道用的 A 还是 B 的 base_type.h 了

解决办法 1

是改 A 工程的 common 文件夹,增加一级目录

解决办法 2

在编译 B 产出最终的库文件的时候,追加一层目录

假设我用 cmake 编译的 B,我追加了一个 test 目录

install(DIRECTORY "include/" DESTINATION ${PROJECT_DIR}/output/include FILES_MATCHING PATTERN "*.h*")

====>

install(DIRECTORY "include/" DESTINATION ${PROJECT_DIR}/output/include/test FILES_MATCHING PATTERN "*.h*")

这个时候,B 的目录树变成了

include
└── test
	├── common
    │   └─
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值