2010-02-05 128 views
2

我一直在关注msdn的教程,它不起作用。无法让DLL在Visual Studio上工作

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

当建立.dll和.obj时 - 上帝知道如何 - 我无法让它们被识别。我试过把它们和.h放在项目文件夹中,但是接下来我得到一个有关.dll函数未定义的错误。继MSDN链接,在一个点上,它说:

  • 要使用的动态链接库中创建的数学程序, 必须引用库。要做 这个,从 项目菜单中选择References ...。在Property Pages 对话框中,展开Common Properties节点,选择References, ,然后选择Add New Reference ... 按钮。有关 引用...对话框的详细信息,请参阅框架 和引用,通用属性, 属性页对话框 框。

  • 显示添加引用对话框。该对话框列出您可以参考的所有 库。 “项目”选项卡列出当前解决方案 中的所有项目以及它们包含的任何库 。在项目选项卡上, 选择MathFuncsDll。

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

    我也尝试在链接器中添加文件的名称,但它说它无法找到.obj文件。

    我不知道该从哪里出发。我一直坚持这几个小时,没有任何解决方案。

    在VS2008的实际工作中,有没有一步一步的指南?

    回答

    1

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

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

    为了获得构建权,您需要使C++程序依赖于dll项目。有一个项目|项目依赖对话框将为你做这个,设置程序项目依赖于dll项目

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

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

    0

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

    References设置专用于.NET项目。

    相关问题