1

有没有人这样做过?我无法让它工作。以下是我的步骤:

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

    fl::Engine* engine = new fl::Engine("simple-dimmer");

这失败了,但有以下例外:

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

2 回答 2

2

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

如果您遇到问题,我强烈建议您在http://www.fuzzylite.com的论坛中报告问题,我和其他人将很乐意为您提供帮助。

对于编译错误,fuzzylite 将警告视为错误。使用 Visual Studio(不是通过 nmake 从控制台)编译时,在fuzzylite 4.0 中出现的警告是警告C4702,它指的是无法访问的代码。您可以通过在文件fl/fuzzylite.h中添加以下行来解决此问题#ifdef FL_WINDOWS(以及其他#pragmas):

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

如果库没有正确构建,运行时肯定会发生错误。

于 2014-02-18T09:16:28.833 回答
1

好的,我知道了 :)

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

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

现在在 fl-bin 的 Project properties 中,shared 和 static 转到 Project Properties。在 C/C++ 中,转到预处理器,将FL_DATA="mm.dd.yyyy"中的空间删除为 "mm.dd.yyyy"(奇怪)。该解决方案应该可以正常构建,并且会在 lib 文件夹中生成fuzzylite-dbg.dll 和fuzzylite-dbg.lib。

通过将fuzzy-dbg.lib 添加为链接器输入并将dll 放在解决方案文件夹中,在您的VC 项目中使用这些文件。给出路径“path\to\fuzzylite\fuzzylite”。到包含目录。

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

于 2013-06-27T10:48:30.707 回答