【问题标题】:How do I use classes from another project in the same solution in Visual Studio 2010?如何在 Visual Studio 2010 的同一解决方案中使用来自另一个项目的类?
【发布时间】:2010-11-19 00:28:54
【问题描述】:

我正在开发一个用 C++ 编写的面向对象的 Windows API 包装库,我在解决方案中有两个项目:

  • 实际的库项目;
  • 一个“测试”项目,我在其中编写代码,使用该库进行测试。

我的目标是能够在测试项目中包含和使用库头文件,就好像它是使用该库的实际项目一样。

我通过在测试项目的附加包含目录中添加“$(SolutionDir)”解决了文件包含问题(有更简洁的方法吗?),但我正在努力让测试项目链接。我收到未引用的外部错误,我认为这是因为链接器找不到 DLL。

我完全迷路了。我已经设置了项目到项目的引用,因此测试项目依赖于库项目,但这并没有解决链接问题。我在这两个项目的属性中都找不到与我的问题相关的任何选项。

有没有一种方法可以让我简单地点击“构建解决方案”然后运行可执行文件?

【问题讨论】:

    标签: visual-studio linker reference project projects-and-solutions


    【解决方案1】:

    在您项目的属性 > 链接器 > 输入中,您可以为链接器指定一堆设置,例如,要链接的附加依赖项(将其他项目生成的 .lib 放在那里)以及哪些路径寻找上述图书馆。

    【讨论】:

    • 您的解决方案效果很好,但为此我必须将库项目的配置类型设置为静态库,因此它不会生成 DLL。有什么方法可以让我使用动态库吗?
    • 当你构建一个动态库时,它会生成两个文件:一个.lib 和一个.dll。 .lib 包含 .dll 的链接信息,并且必须静态链接到您的项目。 .dll 然后将在运行时加载,因此您只需确保您的程序找到它。只需放在与您的应用程序相同的目录中即可。
    • 我现在明白了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    相关资源
    最近更新 更多