0

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

我如何在 MSVS 2010 中做到这一点?

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

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

来自 project2 (.exe)

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

我怎么能做到这一点:

#include "project2.h"

???

编辑

除了我的问题

1

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

而且我在那里显式地编写了链接,并且已经存在于要导入的头文件(.h)中。

我还应该将它链接到另一个项目吗?

2

我的库以 OOP 方式实现。

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

4

2 回答 2

0

我为此使用属性表。

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

如果该库依赖于其他库,则另外导入这些库的属性表。如果您有多个路径指向一个属性表,您可能需要做一些疯狂的事情来摆脱编译器 msbuild,但 Google 可以帮助您(只需 google 警告消息)。

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

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

于 2013-03-01T14:42:37.640 回答
0

我只是想通了。。

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

于 2013-03-23T10:55:35.020 回答