Я пытаюсь получить Yeppp! библиотеки векторной математики, работающие в моей системе (windows 7 с Codeblocks, GNU 4.9.2) в c ++ (также не работает обычный c). Используя базовый пример «энтропии» с сайта
http://docs.yeppp.info/c/_entropy_8c-example.html
Codeblocks не компилируется и возвращает
Entropy Example.c|| undefined reference to _imp__yepMath_Log_V64f_V64f|
Entropy Example.c|| undefined reference to _imp__yepCore_DotProduct_V64fV64f_S64f|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Я добавил соответствующую настройку компоновщика; в разделе «Поиск каталогов» у меня есть
C:\Program Files(x86) Yeppp! SDK\library\headers
Я считаю, что это проблема с переменной ‘status’ или с чем-то, что не распознается, скорее всего assert.h.
Изменить: так что теперь он работает на Visual Studio. К сожалению, Yeppp! реализация намного медленнее, чем наивный подход, в 4 раза. Включил / ox и настроил использовать AVX (3630qm).
Насколько я знаю, Code :: Blocks использует MinGW GCC в качестве компилятора. Yeppp! предоставляет библиотеки импорта для Microsoft Visual Studio (в формате MS COFF), которые не совместимы с MinGW GCC. Чтобы использовать Yeppp! с MinGW GCC вы должны конвертировать библиотеку импорта (yeppp.lib) в формат GNU. Процесс конвертации был обсуждается в списке рассылки.