有没有人做过这个?我无法让它工作。 以下是我的步骤:
- 从 link 下载 windows 包
- 我可以毫无问题地运行 qfuzzylite(GUI 工具)。现在我想在我的 Visual Studio + Qt 集成项目中使用 fuzzylite 库。
- 在 CMake GUI 中,我将 fuzzylite 源文件夹作为输入文件夹,并选择 Visual Studio 2010 作为编译器。
- 我能够在 CMake 中生成 Visual Studio fuzzylite 解决方案,没有任何错误。
- 然后,我尝试构建 Visual Studio 解决方案,但它失败并出现一些奇怪的错误。但是,它会生成 fuzzylite-dbg.lib 文件(我需要)。
- 然后我使用这个 lib 文件和 fuzzylite.dll,并在 VS 项目中包含 header 的路径。项目构建没有任何错误。
现在在我正在做的代码中
fl::Engine* engine = new fl::Engine("simple-dimmer");
失败并出现以下异常:
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)//忽略无法访问的代码
如果库构建不正确,运行时必然会发生错误。
关于c++ - 在 Visual Studio 2010 中使用 fuzzylite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17339500/