[英]What is the correct way to set up a UnitTest project for C++ in Visual Studio with additional include directories in the main Project?
[英]Additional include directories in Visual Studio for C++
我有一个这样的文件夹结构:
母目录/Solution A/Project Aa/文件Aaa.h
母目录/Solution B/Project Bb/文件Bbb.h
我想在 Bbb.h 中包含 Aaa.h。
Bbb.h 看起来像这样:
#include <A/Aa/Aaa.h>
...
在项目 Bb 的属性中,我尝试过 C++ -> 常规 -> 附加包含目录:$(ProjectDir)../../../
或者我也试过../../../ 或 $(ProjectDir)../../..
没有任何效果。 我收到错误消息:“无法打开源文件“A/Aa/Aaa.h”。
如何将“Aaa.h”正确包含到 Bbb.h 中?
您的问题是“A”目录不在“B”目录中,并且#include <A/Aa/Aaa.h>
行从当前目录开始查找您提供的路径,因此它正在寻找:“ B/Bb/A/Aa/Aaa.h" 要解决此问题,您可以执行以下两项操作之一。
#include "../../A/Aa/Aaa.h>"
(但是,使用这样的相对路径会生成许多编译器中的警告,因为它们不是真正可移植的。)#include "Aaa.h"
(为了避免输入目录路径有任何混淆,您可以从“属性”弹出窗口中“浏览”实际文件夹。) PS:虽然没有严格执行,但习惯是对系统目录中的 header 文件使用< >
'引号'(如#include <iostream>
)和用户提供的标题的传统引号(如#include "Bbb.h"
) .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.