1.下载最新版Cmake并安装(当前新版本3.24.0)
https://cmake.org/download/
2.安装llvm
注意不要使用太新的版本,Centos7默认gcc版本是4.8.5。高级的llvm需要ggc至少要为5.1版本。
可按照如下教程:https://www.cnblogs.com/BinBinStory/p/7499527.html 安装4.0.1版本。
3.下载和构建libc++,libc++abi
可参考https://www.cnblogs.com/BinBinStory/p/7499648.html,教程中的libc++,libc++api构建步骤。
可能存在的异常(1):使用过程中,可能提示没有找到某些文件,但文件已经在2步骤中安装过了。
可以在命令行搜索,找到文件地址。(也可在文件夹搜索)
find / -name "*文件名字.后缀*"
将此路径下的所有文件,都移动到命令需要的usr/lib文件夹下。(还有个bin目录应该也需要复制一下)
移动之后,可正常运行。
可能存在的异常(2):编译第五步成功之后。六七步骤失败了。
1.首先确认下服务器中是否有该动态库
find / -name “libc++abi.so.1”
2.如果服务器中没有该动态库,则需要安装一下
yum install libxcb
3.如果服务器中已经包含了该动态库,则 需要将 该动态库所在的目录添加到 链路器配置中,如:
(1)找到配置文件
vim /etc/ld.so.conf
(2)在最后一行添加动态库文件所在目录:
/usr/lib
(3)刷新缓存
ldconfig
4.下载安装libcuda.so
此时c++文件已经可以正常运行,但有着so库的unity项目可能直接闪退,或无法开启。
查看崩溃日志:
implib-gen: libcuda.so: failed to load library: libcuda.so: 无法打开共享对象文件: 没有那个文件或目录
去网站下载所需要的文件:
https://pkgs.org/search/?q=libcuda.so
直接选择Centos7的第一个,
点第一个下载,并安装。
安装成功后,使用find / -name “libcuda.so”,查看so库安装地址。
在etc/ld.so.conf配置文件里,的最后一行,将其目录添加上即可。
5.正常运行
到此,unity可以正常运行so库。