Visual Studio 2005到VS 2008

问题描述:

我是一位在VS IDE上工作的新手,对如何链接不同的库和文件没有太多经验。我必须在VS2005中创建一个OpenCV项目,由我的一个同事制作成VS2008。该项目用于blob检测。Visual Studio 2005到VS 2008

以下是他在自述说:

步骤使用的库(使用MSVC++ SP 5):

  1. 打开库的项目,并在构建它
  2. add:

    2.1在“项目/设置/ C++ /预处理器/其他包含 目录”添加可怕其中团块库存储

    2.2“项目/设置/连接/输入/附加库路径” ctory添加 其中团块库存储和在“对象/库 模块”的目录添加cvblobslib.lib文件

  3. 包含要使用blob变量的文件“BlobResult.h”。
  4. 要查看使用blob库的示例,请参阅zip文件中的文件 example.txt。

注:确认在使用的cvblobslib.lib项目时,MFC运行时库不混合:

  1. 入住“项目 - >设置 - > C/C++ - >代码生成 - >使用运行时库“,并将其设置为 调试多线程DLL(调试版本)或多线程DLL(发布版本)。
  2. 检查“Project-> Settings-> General”如何使用MFC。它应该是“在共享DLL中使用MFC”。

注1:该库可以编译和使用该步骤在.NET中使用,但菜单选项可能会有点不同 注2:在.NET版本,字符集必须是在平等的.lib和在项目中。 [OpenCV雅虎组:消息35500]

任何人都可以解释我,如何在VS2008做这件事。我也很感激,如果有人可以解释我是如何连接不同的库,什么是调试,什么是发布和所有在我们有一个Visual Studio项目文件夹。\

+0

谢谢KP .......我怎样才能使它成为一个赏金,以吸引更多的关注..对于问题 – Adi 2010-04-14 18:48:24

+0

您的问题需要在这里至少2天才能添加赏金。尽管如此,您可以编辑您的问题以将其恢复到网站的首页。通常添加细节可以让其他人知道您仍在为解决问题提供解决方案。任何可以添加的新信息都会很有用。 – 2010-04-14 18:56:53

我一开始感到困惑,以及它没有很好地解释MSDN。你最好的学习它的希望是尝试使用VS2008指令链接库(如boost)。

无论如何,额外的包含目录是在项目 - >属性 - > C++ - >一般和其他库是在项目 - >属性 - >链接器 - >一般。您可以在“属性” - >“链接器” - >“输入”下将库名放入其他库中。

因此,无论何时包含文件,它都会在您的Include目录以及该文件的其他包含目录中查找。每当你指定一个额外的库(.lib文件)时,它会查看你的库目录以及任何额外的库目录。

如果您使用include或library目录很多,您可以通过转到Tools-> Options-> Projects and Solutions-> VC++目录并将所需的目录放入Include Files and Library文件分别。

对于Debug vs Release,在项目 - >属性下,左上方有一个下拉菜单,告诉你哪个配置当前正在编辑属性。要更改您当前想要构建的那个,请单击项目属性右上角的“配置管理器”,然后使用下拉列表选择每个项目的配置。

版本通常打开优化等,调试通常会建立调试数据库(pdb文件)等,他们也链接到他们各自的库。换句话说,您通常需要链接到的库来匹配您的配置,因此调试版本需要链接到调试库,并且发布版本需要链接到版本库。通常情况下,libaries是调试后的名字,如果他们是多线程的,他们的名字中有一个mt。

他们给你的C++代码生成建议仍然是一样的,并且是一个常见的源代码或问题。这意味着您链接的库链接到与您正在使用的C库不同的C库,这可能会导致问题。

如果您感到困惑,通常您最好的解决方案就是询问邮件列表中您尝试链接的任何项目。如果你遇到了特定的错误,你不能弄清楚,试着玩弄配置,如果你仍然不知道,可以在这里问你的具体问题。

+0

非常感谢FranticPedantic的详细解答。我明白,我会尽力做你所说的......让你知道这件事。 – Adi 2010-04-14 19:23:08