|
【应用开发】
Ubuntu编译osgEarth出错的解决
发表于 2022-6-2 09:07:11
浏览:5311
|
回复:0
打印
只看该作者
[复制链接]
楼主
本帖最后由 firefly3588 于 2022-6-2 09:21 编辑
从官网下载好的osgEarth编译时出错
- /home/firefly/ows/3D/Demo/gwaldron-osgearth-ac7c31d/src/osgEarthDrivers/fastdxt/intrinsic.cpp:42:10: fatal error: emmintrin.h: No such file or directory
- 42 | #include <emmintrin.h> // sse2
- | ^~~~~~~~~~~~~
- compilation terminated.
- make[2]: *** [src/osgEarthDrivers/fastdxt/CMakeFiles/osgdb_fastdxt.dir/build.make:115: src/osgEarthDrivers/fastdxt/CMakeFiles/osgdb_fastdxt.dir/intrinsic.cpp.o] Error 1
- make[1]: *** [CMakeFiles/Makefile2:2536: src/osgEarthDrivers/fastdxt/CMakeFiles/osgdb_fastdxt.dir/all] Error 2
- make: *** [Makefile:130: all] Error 2
复制代码 原因是:
emmintrin.h这个头文件,本身不是在aarch64中使用的指令集,需要将其改写为neon的代码,即在arm架构下可以使用的指令集。
这一步操作,英特尔提供了相应的函数sse2neon.h。
sse2neon.h的使用方法很简单,先将其放入/usr/local/include或者/usr/include或者你的代码工程下,总之就是要能调用到,而后修改代码中原本的#include <emmintrin.h>为#include <sse2neon.h>即可使用。
sse2neon.h的下载地址及使用方法
https://github.com/DLTcollab/sse2neon/ |
|