代码之家  ›  专栏  ›  技术社区  ›  Mark Stahler

Visual C++中的DLL引用

  •  42
  • Mark Stahler  · 技术社区  · 17 年前

    我有C++经验,但没有MSVC。

    不幸的是,现在没有简单的“添加引用”,请将my.dll放到include目录中,并将其添加到我的解决方案中。我编辑了项目属性页、C/C++附加包含目录选项以及添加.lib作为附加链接器依赖项。我已经在解决方案树中为dll和lib创建了一个包含目录。

    我的问题是,当我试图包含文档中的头文件时,VS output会发出错误消息。现在我意识到我正在使用dll/lib组合,并且.h文件不在我的解决方案中,那么如何添加适当的include呢?我正在使用QT工具包,它也在工作,但我无法从开源库添加其他头/dll。

    谁能给我指一下正确的方向吗。

    3 回复  |  直到 9 年前
        1
  •  80
  •   Community Mohan Dere    8 年前

    要使用该库,您需要做以下几件事:

    1. 你必须确保VS可以找到你刚刚添加的库,所以你必须进入工具菜单并选择选项。。。然后在项目和解决方案下选择VC++目录,编辑库目录选项。从这里,您可以通过在“显示目录:”下拉框中选择“库文件”来设置包含新库的目录。只需在目录列表中添加lib文件的路径。如果你没有lib,你可以省略它,但是当你在这里时,你还需要在“Include files”下设置包含头文件的目录。使用与添加库相同的方法执行此操作。

    完成此操作后,您应该可以很好地使用您的库。如果没有lib文件,您仍然可以通过自己导入来使用dll。在应用程序启动期间,可以通过调用LoadLibrary显式加载dll(请参阅: http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx 更多信息)

    干杯

    编辑

    记住使用#include<Foo.h>与#相反,包括“foo.h”。前者搜索包含路径。后者使用本地项目文件。

        2
  •  3
  •   Dani van der Meer    17 年前

    附加的include目录是相对于项目目录的。这通常是项目文件*.vcproj所在的目录。我猜在您的情况下,您只需在include和library目录中添加“include”。

    如果要确定项目目录是什么,可以检查$(ProjectDir)宏的值。要执行此操作,请转到“C/C++->其他包含目录”,按“…”按钮,然后在弹出对话框中按“宏>”。

        3
  •  1
  •   imaginaryboy    17 年前

    您提到添加了附加的include目录(C/C++|General)和附加的lib依赖项(Linker | Input),但是您是否也添加了附加的库目录(Linker | General)?

    包含一条示例错误消息也可能有助于人们回答这个问题,因为还不清楚错误是在编译还是链接过程中发生的。