无法让DLL在Visual Studio上运行

时间:2010-02-05 23:59:03

标签: c++ visual-studio-2008 dll

我一直在关注msdn的教程,但它不起作用。

我遇到的第一个问题是,有时不构建.dll和.lib。相反,我只得到.objs。每当我构建.dll项目时,它都会给我一个弹出窗口,要求“请指定用于调试会话的可执行文件的名称”。我被告知要将我的启动项目更改为具有main函数的项目,但是.dll不会构建。这种情况既可以使用默认的VS配置,只需添加一些行或遵循msdn的分步指南。

当.dll和.obj建成时 - 上帝知道如何 - 我无法让它们得到认可。我已经尝试将它们和.h放在项目文件夹中,但是我得到一个关于.dll函数未定义的错误。在msdn链接之后,它一度说:

  
      
  1. 要使用在动态链接库中创建的数学例程,   你必须参考图书馆。去做   这个,从中选择引用....   项目菜单。在属性页面上   对话框,展开Common   属性节点,选择引用,   然后选择Add New Reference ...   按钮。有关的更多信息   参考...对话框,请参阅框架   和参考,共同属性,    属性页面对话框   框。

  2.   
  3. 将显示“添加引用”对话框。此对话框列出了所有   您可以参考的库。该   “项目”选项卡列出了所有项目   当前的解决方案和任何库   他们包含。在“项目”选项卡上,   选择MathFuncsDll。

  4.   

如果我去项目>测试属性>公共属性我只能找到子项“框架和参考”。没有“引用...”有一个“添加新引用...”按钮,但这不允许我添加任何内容。另一个按钮,“添加路径...”即使我用包含文件的目录设置它也没有任何区别。以下步骤也不起作用。

我还尝试在链接器中添加文件名,但后来它说找不到.obj文件。

我不知道从哪里开始。我被困在这几个小时,无处可解决。

是否有适用于VS2008的任何地方的分步指南?

2 个答案:

答案 0 :(得分:1)

首先,您的描述是将托管(.net)内容与普通的c ++内容混合在一起。我假设你正在做正常的c ++东西。

您拥有(我的意思是源代码;是作者)DLL和调用程序吗?如果是这样,你应该有两个VS项目,一个用于DLL,一个用于程序。您应该将程序设置为启动项目。这将使调试器正常运行

为了使构建正确,您需要使c ++程序依赖于dll项目。有一个项目|项目依赖对话框将为您执行此操作,将程序项目设置为依赖于dll项目

如果您只拥有DLL,那么您需要转到项目属性|调试并告诉它运行什么二进制文件来调用你的DLL。

如果这是托管c ++,那么它就是一个完全不同的storty

答案 1 :(得分:0)

尝试在DLL项目和使用DLL的应用程序项目之间指定Project Dependencies

References设置专用于.NET项目。