在Visual Studio 2010中使用fuzzylite

Using fuzzylite in Visual Studio 2010

本文关键字:fuzzylite 2010 Visual Studio      更新时间:2023-10-16

以前有人这样做过吗?我无法让它发挥作用。以下是我的步骤:

  1. 从链接下载windows软件包
  2. 我可以毫无问题地运行qfuzzylite(gui工具)。现在,我想在我的VisualStudio+Qt集成项目中使用fuzzylite库
  3. 在CMakeGUI中,我将fuzzylite源文件夹作为输入文件夹,并选择VisualStudio2010作为编译器
  4. 我能够在CMake中生成Visual Studio fuzzylite解决方案,而不会出现任何错误
  5. 然后,我尝试构建Visual Studio解决方案,但它失败了,并出现了一些奇怪的错误。但是,它确实生成了fuzzylite-dbg.lib文件(我需要它)
  6. 然后我使用这个lib文件和fuzzylite.dll,并在VS项目中包含Headers的路径。该项目构建时没有任何错误
  7. 现在在代码中我正在进行

    fl::Engine*Engine=新fl::Engine("简单调光器");

此操作失败,出现以下异常:

exception text: bad allocation
exception type: class std::bad_alloc

感谢您的详细步骤,但解决方案似乎有点随机(或者说很奇怪)。除非提供更多关于错误的信息,否则我强烈建议不要使用这样的解决方案来尝试对fuzzylite进行任何修复。

如果你遇到问题,我强烈建议你在论坛上报告这个问题http://www.fuzzylite.com,我和其他人会很乐意帮助你。

对于编译错误,fuzzylite将警告视为错误。在使用Visual Studio(而不是通过nmake从控制台)编译fuzzylite 4.0时,以及在以前的版本中,可能会引发一个警告,即警告C4702,它指的是无法访问的代码。您可以通过在文件fl/fuzzylite.h中添加#ifdef FL_WINDOWS内的以下行(与其他#pragma一起)来解决此问题:

#pragma warning(disable:4702) //Ignore unreachable code

如果库没有正确构建,那么在运行时必然会发生错误。

好的,明白了:)

以下是供未来参考的步骤:

  1. 从链接下载windows软件包
  2. 在CMakeGUI中,我将fuzzylite源文件夹作为输入文件夹,并选择VisualStudio2010作为编译器。现在,如果您想在调试模式下使用lib,请勾选FL_Debug框(这就是我出错的地方)
  3. 现在点击"生成",它将生成5个项目:
    • ALL_BUILD
    • fl仓
    • fl共享
    • fl静态
    • 安装
    • 零检查

现在在fl-bin的项目属性中,shared和static转到项目属性。在C/C++中,转到预处理器,去掉FL_DATA="mm.dd.yyyy"到"mm.dd.yyyy"中的空格(奇怪)。该解决方案应该构建良好,并将在lib文件夹中生成fuzzylite-dbg.dll和fuzzylity-dbg.lib。

通过添加fuzzy-dbg.lib作为链接器输入,在VC项目中使用这些文件,并将dll放在解决方案文件夹中。将路径"path\to\fuzzylite\fuzzylite."指定给Include Directories。

对Release模式执行相同的过程(不要勾选FL_DEBUG标志)