假设这样一个场景 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
│ └─

最低0.47元/天 解锁文章
8411

被折叠的 条评论
为什么被折叠?



