Visual c++ Visual Studio 2015中的跨项目参考

Visual c++ Visual Studio 2015中的跨项目参考,visual-c++,visual-studio-2015,Visual C++,Visual Studio 2015,我试图引用另一个项目中的dll项目,但遇到了一些困难。我已经做了以下工作: 将两个项目都添加到解决方案中 在我的可执行项目中,我添加dll项目作为引用 我将包含目录添加到属性-->C/C++-->其他包含目录下 我认为这已经足够了——我没有收到任何错误,我的intellisense正在检测dll项目,所有的东西都在编译。但当我运行时,我会得到以下系统错误消息框: 程序无法启动,因为您的计算机中缺少xxx.dll。 请尝试重新安装程序以解决此问题 因此,我尝试将生成dll和lib文件的目录添加

我试图引用另一个项目中的dll项目,但遇到了一些困难。我已经做了以下工作:

  • 将两个项目都添加到解决方案中
  • 在我的可执行项目中,我添加dll项目作为引用
  • 我将包含目录添加到属性-->C/C++-->其他包含目录下
我认为这已经足够了——我没有收到任何错误,我的intellisense正在检测dll项目,所有的东西都在编译。但当我运行时,我会得到以下系统错误消息框:

程序无法启动,因为您的计算机中缺少xxx.dll。 请尝试重新安装程序以解决此问题


因此,我尝试将生成dll和lib文件的目录添加到属性中VC++目录下的引用目录和库目录中,但仍然出现相同的错误。

您没有添加跨项目引用,也没有添加对dll的引用。您添加了对导入库的引用,使链接器满意。这无助于操作系统找到DLL,将DLL复制到正确的目录是您必须注意的事情。在生成后事件中使用XCOPY。@HansPassant:我已经按照建议使用XCOPY来移动dll,一切正常,谢谢。只是为了进一步了解-我认为VC++会沿着引用目录路径查找dll文件-如果它不这样做,那么引用目录路径是什么?它与VC++没有任何关系。它完成了它的工作,它建立了你的程序。是操作系统找不到DLL,它没有理由查找它存储的目录。您没有添加跨项目引用,也没有添加对DLL的引用。您添加了对导入库的引用,使链接器满意。这无助于操作系统找到DLL,将DLL复制到正确的目录是您必须注意的事情。在生成后事件中使用XCOPY。@HansPassant:我已经按照建议使用XCOPY来移动dll,一切正常,谢谢。只是为了进一步了解-我认为VC++会沿着引用目录路径查找dll文件-如果它不这样做,那么引用目录路径是什么?它与VC++没有任何关系。它完成了它的工作,它建立了你的程序。是操作系统找不到DLL,它没有理由查找存储DLL的目录。