gpt4 book ai didi

c++ - 分配 'half' 类型时出现 OpenEXR 链接器错误

转载 作者:行者123 更新时间:2023-11-28 02:27:08 25 4
gpt4 key购买 nike

我在为包含 OpenEXR 定义的半类型的 Imf::Rgba 结构赋值时遇到问题。似乎存在与从 float 到 half 的转换有关的链接器错误。

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

我认为这是 Windows 上的常见问题,需要定义 OPENEXR_DLL。但是,这不起作用,因为我正在 OS X 上编译。我尝试链接到 libIlmImf.dylib 和 libIlmImf.a,结果相同。使用的 OpenEXR 版本是 2.2.0 并使用 Homebrew 安装。

最佳答案

这些符号在 half.h 中定义,它是 IlmBase 的一部分。

您应该链接到 libHalf.dylib

关于c++ - 分配 'half' 类型时出现 OpenEXR 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30153543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com