我一直在关注msdn的教程,但它不起作用。
我遇到的第一个问题是,有时不构建.dll和.lib。相反,我只得到.objs。每当我构建.dll项目时,它都会给我一个弹出窗口,要求“请指定用于调试会话的可执行文件的名称”。我被告知要将我的启动项目更改为具有main函数的项目,但是.dll不会构建。这种情况既可以使用默认的VS配置,只需添加一些行或遵循msdn的分步指南。
当.dll和.obj建成时 - 上帝知道如何 - 我无法让它们得到认可。我已经尝试将它们和.h放在项目文件夹中,但是我得到一个关于.dll函数未定义的错误。在msdn链接之后,它一度说:
要使用在动态链接库中创建的数学例程, 你必须参考图书馆。去做 这个,从中选择引用.... 项目菜单。在属性页面上 对话框,展开Common 属性节点,选择引用, 然后选择Add New Reference ... 按钮。有关的更多信息 参考...对话框,请参阅框架 和参考,共同属性, 属性页面对话框 框。
- 醇>
将显示“添加引用”对话框。此对话框列出了所有 您可以参考的库。该 “项目”选项卡列出了所有项目 当前的解决方案和任何库 他们包含。在“项目”选项卡上, 选择MathFuncsDll。
如果我去项目>测试属性>公共属性我只能找到子项“框架和参考”。没有“引用...”有一个“添加新引用...”按钮,但这不允许我添加任何内容。另一个按钮,“添加路径...”即使我用包含文件的目录设置它也没有任何区别。以下步骤也不起作用。
我还尝试在链接器中添加文件名,但后来它说找不到.obj文件。
我不知道从哪里开始。我被困在这几个小时,无处可解决。
是否有适用于VS2008的任何地方的分步指南?
答案 0 :(得分:1)
首先,您的描述是将托管(.net)内容与普通的c ++内容混合在一起。我假设你正在做正常的c ++东西。
您拥有(我的意思是源代码;是作者)DLL和调用程序吗?如果是这样,你应该有两个VS项目,一个用于DLL,一个用于程序。您应该将程序设置为启动项目。这将使调试器正常运行
为了使构建正确,您需要使c ++程序依赖于dll项目。有一个项目|项目依赖对话框将为您执行此操作,将程序项目设置为依赖于dll项目
如果您只拥有DLL,那么您需要转到项目属性|调试并告诉它运行什么二进制文件来调用你的DLL。
如果这是托管c ++,那么它就是一个完全不同的storty
答案 1 :(得分:0)
尝试在DLL项目和使用DLL的应用程序项目之间指定Project Dependencies。
References
设置专用于.NET项目。