如何从msvc 2010中的一个解决方案隐式链接(或引用)两个项目

时间:2013-03-01 11:22:29

标签: c++ visual-studio-2010 visual-c++

我创建了这个库(.dll)并创建了另一个项目(.exe)来测试它。

我如何在MSVS 2010中执行此操作?

谷歌搜索大约一个小时,我仍然没有答案。所以我决定在这里问。

我通过从#include指令明确键入整个路径来进行链接。

来自project2(.exe)

#include "C:\...\project2.h"

我怎样才能做到这一点:

#include "project2.h"

???

修改

除了我的问题

1

我的动态(.dll)库已链接到静态(.lib)库。

我明确地对链接进行编码,并且已经存在于要导入的头文件(.h)中。

我还应该将它链接到其他项目吗?

2

我的图书馆以OOP方式实施。

哪个更好用,(。dll)或(.lib)

2 个答案:

答案 0 :(得分:0)

我使用属性表。

对于您创建的任何库,您还可以创建属性表。在该属性表中,将库的包含路径添加到全局包含路径,将其库路径添加到全局库路径,如果不使用pragma驱动的自动导入,则将其导入库添加到全局导入库。 / p>

如果库依赖于其他库,则还要导入这些库的属性表。如果你有一个属性表的多个路径,你可能不得不做一些疯狂的东西摆脱编译器msbuild,但谷歌可以帮助你(只是谷歌警告信息)。

这里的主要问题是如何指定路径。它适用于我,因为我的开发环境有一个所有解决方案都存在的目录,所有解决方案都在主目录下面一层。所以我总是可以通过使用$(SolutionDir).. \ bar \ foo \ include作为包含路径在解决方案栏中找到库foo的头文件。这可能不适用于您的情况。

在Visual Studio 2012中,您应该能够使用$(MSBuildThisFileDirectory)来获取属性表文件所在的目录。我不确定这是否适用于2010;我找不到它的文档,但它可能仍然存在。你应该试试。

答案 1 :(得分:0)

我只是想出来..

只需在文件或文件夹前加上“.. \”即可向上移动一个目录