Ошибка компоновщика OpenEXR при назначении типа ‘half’

У меня проблема с назначением значений в структуру Imf :: Rgba, содержащую половину типов, как определено OpenEXR. Кажется, есть ошибка компоновщика, которая касается преобразования из числа с плавающей запятой в половину.

Linking CXX executable graphics-env
Undefined symbols for architecture x86_64:
"half::_eLut", referenced from:
half::half(float) in main.cpp.o
"half::convert(int)", referenced from:
half::half(float) in main.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [graphics-env] Error 1
make[1]: *** [CMakeFiles/graphics-env.dir/all] Error 2
make: *** [all] Error 2

Я считаю, что это общая проблема для окон, и что OPENEXR_DLL должен быть определен. Это не работает, однако, так как я компилирую на OS X. Я попытался связать с libIlmImf.dylib и libIlmImf.a с тем же результатом. Используемая версия OpenEXR — 2.2.0 и установлена ​​с использованием Homebrew.

0

Решение

Эти символы определены в half.h это является частью IlmBase,

Вы должны связаться с libHalf.dylib,

2

Другие решения


По вопросам рекламы [email protected]