2016-04-10 27 views
2

我有两个VS2013解决方案A和B.我的解决方案B包含多个项目,最初编译为可执行文件,但我想在解决方案A中使用它的函数,所以我将其编译更改为一个.lib文件。C++包含另一个解决方案

我将B中的.lib文件添加到我的解决方案A中,但我仍然需要包含标题。 当我尝试包括他们是这样的:

#include <SolutionB/ProjectB1/header1.h> 

那么header1.h尝试包括

#include "globals.h" 

globals.h显然是在/ SolutionB/ProjectB1 /路径,因此不会被发现解答A. 什么是最简单的方法使SolutionA找到所有正确的头文件? 由于SolutionB相当大,我不想将它复制到SolutionA文件夹(这也会使.lib文件过时?),我也不想重写SolutionB中的每个#include指令。 有没有可能做到这一点?

非常感谢您

+1

为什么不简单地将A中的标题的相对包含路径添加到解决方案B的相关项目? – Christophe

+0

@Christophe我不完全明白我该怎么做?你的意思是我应该为我的项目添加每个路径/ SolutionB/ProjectB * /到VC++目录下的“Include Directories”?包含'<>'而不是''包含目录吗?如果我将目录添加到“源目录”,它会起作用吗? – infect

+0

_“不包括仅包含'<>'的包含目录,而不包含'”“'?”_是的,这就是您应该使用'<>'而不是''“'的原因。 –

回答

1

#include搜索通过一组指定头的目录。解决方案B不在此目录列表中,因此#include找不到标题。

在Visual Studio 2015年(应适用于所有其他版本):

  1. 转到项目 - > ...属性
  2. 转到配置属性 - > VC++目录
  3. 在包含目录您可以将路径附加到解决方案B的文件((some other path);your\path\to\solution\b
相关问题