2013-06-27 1 views
1

Кто-нибудь сделал это раньше? Я не могу заставить его работать. Ниже приведены мои шаги:Использование fuzzylite в Visual Studio 2010

  1. Скачать пакет окна от link
  2. Я могу запустить qfuzzylite (GUI-инструмент) без каких-либо проблем. Теперь я хочу использовать fuzzylite lib в моем проекте Visual Studio + Qt Integration Project.
  3. В графическом интерфейсе CMake я предоставляю исходную папку fuzzylite в качестве входной папки и выбираю Visual Studio 2010 в качестве компилятора.
  4. Я могу сгенерировать решение Fuzzylite Visual Studio в CMake без каких-либо ошибок.
  5. Затем я попытался создать решение Visual Studio, но он не смог выполнить с некоторыми странными ошибками. Однако он генерирует файл fuzzylite-dbg.lib (который мне нужен).
  6. Затем я использую этот файл lib и fuzzylite.dll и включаю путь к заголовкам в проекте VS. Проект строится без ошибок.
  7. Теперь в коде я делаю

    фл :: Двигатель * двигатель = новый фл :: Engine ("простой диммер");

Это терпит неудачу со следующим исключением:

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

ответ

1

Хорошо, он получил :)

Вот шаги для дальнейшего использования:

  1. Загрузить пакет окна из link
  2. В графическом интерфейсе CMake я даю f uzzylite в качестве папки ввода и выберите Visual Studio 2010 в качестве компилятора. Теперь, если вы хотите использовать LIB в режиме отладки галочку FL_DEBUG (это где я не заладилось)
  3. Теперь при нажатии кнопки «создать», он будет генерировать 5 проектов:
    • ALL_BUILD
    • П-бен
    • фл-общий
    • фл статическую
    • УСТАНОВИТЬ
    • ZERO_CHECK

Теперь в свойствах проекта в fl-bin общие и статические объекты перейдите в Свойства проекта. В C/C++ перейдите в Preprocessor , чтобы избавиться от пространства в FL_DATA = "mm.dd.yyyy" до "mm.dd.yyyy" (странно). Решение должно строиться отлично и будет генерировать fuzzylite-dbg.dll и fuzzylite-dbg.lib в папке lib.

Используйте эти файлы в своем проекте VC, добавив fuzzy-dbg.lib в качестве входа компоновщика и поместите DLL в папку решения. Дайте путь «путь \ to \ fuzzylite \ fuzzylite». к каталогам Include.

ли один и тот же процесс для режима Release (не отметьте флаг FL_DEBUG)

2

Благодарим Вас за подробные инструкции, но решение, кажется, немного случайно (или странно, как вы выразились). Если не будет предоставлена ​​дополнительная информация об ошибке, я решительно откажусь от использования такого решения, чтобы попытаться исправить fuzzylite.

Если у вас возникли проблемы, я настоятельно рекомендую сообщать о проблеме на форумах по адресу http://www.fuzzylite.com, где я и другие будут рады помочь вам.

Что касается компиляции ошибок, fuzzylite рассматривает предупреждения как ошибки. Предупреждение, которое возникает в fuzzylite 4.0 при компиляции с использованием Visual Studio (не из консоли через nmake) и, возможно, в предыдущих версиях, предупреждает C4702, что относится к недостижимому коду. Вы можете исправить это, добавив в файл fl/fuzzylite.h следующую строку в пределах #ifdef FL_WINDOWS (вместе с другими #pragma):

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

Если библиотека не была построена правильно, ошибки неизбежно произойдет во время выполнения.

+1

Я подробно остановился на том, что могло вызвать вашу проблему, и я более чем счастлив помочь вам шаг за шагом, чтобы изолировать причины ваших ошибок. Тем не менее, я предпочитаю делать это на форумах по адресу http://www.fuzzylite.com, потому что получаю уведомления и узнаю о таких проблемах. –