(多画面)开发环境的建立(1)基础环境

由于解决问题的方法并没有统一性, 为以后安装节省时间,特记录于此.
真正找到问题所在及解决问题的方法,会令你更进一步.

(多画面)开发环境的建立(1)基础环境
(在centos 上建立, ubuntu上因安装命令不同会略有不同)
开放环境: Qt+sdl2+ffmpeg+opencv+ekho

1. 安装Qt5.14.0
  sudo ./qt-opensource-linux-x64-5.14.0.run

2. 安装devtoolset-8

       默认的gcc4.8.5编译Qt5.14的工程会有问题,所以安装devtoolset-8
    yum install centos-release-scl
    yum install devtoolset-8
    临时生效: $scl enable devtoolset-8 bash
    开机生效: 在/etc/profile.d/目录下,添加一个文件例如命名为toolset8.sh
    内容为:source /opt/rh/devtoolset-8/enable
    小心,这里是更改了profile, 不要出差错.
    验证:
    gcc -v
    g++ -v

3. 安装sdl2 播放声音. ffplay 需要该依赖
    需要添加下面的下载源
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    然后:
    sudo yum install SDL2-devel

下面有一大部分是源码安装
4.安装 ffmpeg-n4.4.tar.gz, 注意: 需要加colorbardetect 补丁!!
    4.1:安装nasm, yum安装太旧不符合要求,源码安装. 我下载了nasm2.14
    安装到了/usr/local/bin

    ERROR: freetype2 not found using pkg-config” 错误
    4.2: sudo yum install freetype-devel

    4.3: 安装x264
    ffmpeg 编译需要x264库, 需要源码安装,我下载了git 库.运行
    ./configure --enable-shared;make;make install 三部曲.
    注意,其库放到了/usr/local/lib下,头文件在/usr/local/include
    WARNING: using libx264 without pkg-config
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

    4.3: ffmpeg 安装
    配置:
    ./configure --prefix=/opt/ffmpeg_build --enable-gpl --enable-nonfree --enable-shared --enable-libfreetype --enable-libx264
    make
    make install
    注意观察ffplay 是否编译成功!!,  解决办法是: 要有SDL库。所以要先安装sdl库
    验证: 用ffmpeg, ffplay 来验证, 注意用ldd 检查, 并在ld.conf.d 中添加依赖库


5. 安装opencv-4.5.3(opencv-4.5.3.zip)
    5.1: 安装cmake
    由于系统cmake 2.8 版本太低,不满足要求,需手工下载源码编译安装.
    我下载了cmake-3.9.2.tar.gz
    解压后执行./configure
    make
    make install
    或者: bootstrap, gmake, sudo make install
    执行cmake 前,先执行$hash -r, 否则会提示can not find "CMAKE_ROOT"

    5.2: 安装opencv
    先建立build 目录,在该目录下执行
    cmake -DCMAKE_INSTALL_PREFIX=/opt/opencv
    -DCMAKE_BUILD_TYPE=Release       \
    -DENABLE_CXX11=ON                \
    -DBUILD_PERF_TESTS=OFF           \
    -DWITH_XINE=ON                   \
    -DBUILD_TESTS=OFF                \
    -DENABLE_PRECOMPILED_HEADERS=OFF \
    -DCMAKE_SKIP_RPATH=ON            \
    -DBUILD_WITH_DEBUG_INFO=OFF      \
    -Wno-dev  ../     
    make; make install
    库及头文件在/opt/opencv
    
    5.3: 建立一个连接, 因为centos上安装在lib64, 而ubuntu 安装在lib, 建个连接就可以统一了.
    ln -s lib64 lib


6. 安装ekho 库(ekho-master.zip), 这是txt2speech 库

按照文档INSTALL 来, 还是挺简单的,从./autogen.sh 开始。不过文档有一处有误。也容易解决。

 
    configure: error: sndfile test failed  解决方法    $yum install libsndfile-devel
     configure: error: espeak-ng test failed
    解决方法:
      libspeak-ng-dev 需要源码安装,我下载了 espeak-ng-1.49.0+dfsg 进行源码编译
    ./configure; make ; sudo make install
    安装到了/usr/local/lib

    configure: error: pulseaudio test failed (--without-pulseaudio to disable)
    解决方法:
    $yum install pulseaudio-libs-devel

    ./configure; make; sudo make install
    头文件被安装到了/usr/local/include
    lib 由于缺少其它一些东西而终止,但已经生成,可以手工copy
    sudo cp -r ekho-data /usr/local/share

  可以采用./configure --prefix=/opt/ekho 方式,安装时会整齐一些,但安装由于makefile 有些错误

需要手工操作, 最后/ekho-data 数据也应该移动到/usr/local/share 下, 运行时是从这个目录读取的。

最终的使用:

    /usr/local/include/ekho.h:30:10: fatal error: config.h: 没有那个文件或目录
    编译的config.h 要放到一个已知的位置, 还有sonic.h utf8目录等。
    我建立了/opt/ekho/include 目录, 把需要的头文件都放这里了.
    另建立/opt/ekho/lib 目录, 把libekho.a 库文件放这里.

 另外,pinyin.index 及pinyin.voice 是第一次发声时形成的,把pinyin目录下的文件进行打包合成。

并不是编译形成的文件,我为此甚是奇怪了一阵子这个文件到底是怎么来的!!

问题:
qopengl.h:141:22: 致命错误:GL/gl.h:没有那个文件或目录
解决方法:
sudo yum install mesa-libGL-devel


乙: 准备运行前,用ldd multiview 看一看, 是否动态库都能找到.
ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系
发现opencv 库没有找到, 在/etc/ld.conf.d/ 下建立一个文件包含上该路径
/opt/opencv/lib64
然后sudo ldconfig
这样ldd 就通过了.

2. 运行先执行本地文件.再执行网络文件.

LOG: Error -2 while encoder interlease write frame: 没有那个文件或目录
录制没有建立起目录,其根是/media, 可手工创建并赋予写权限.

本地文件可播放,网络流无法播放,发现是防火墙原因,坑人,关闭之.

$systemctl status firewalld.service
$systemctl stop firewalld.service
$systemctl disable firewalld.service

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
游戏测试多人战斗环境的创建思路可以分为以下几个步骤: 1. 设计游戏战斗环境:确定游戏的战斗场景、地图、角色、武器等元素,并进行相应的设计和规划。 2. 编写游戏服务器:创建一个游戏服务器,用于处理多个玩家之间的通信和协调。服务器需要能够接收玩家的操作指令,并将其广播给其他玩家。 3. 实现玩家匹配系统:设计一个玩家匹配系统,用于将玩家分配到合适的战斗环境中。可以根据玩家的技能等级、战斗经验等因素进行匹配,以保证游戏的公平性和平衡性。 4. 处理玩家之间的碰撞和伤害:在游戏中,玩家之间可能会发生碰撞和互相造成伤害。需要编写相应的逻辑来处理玩家之间的碰撞检测、伤害计算和生命值变化等操作。 5. 实现游戏状态同步:多人游戏中,玩家之间的状态需要进行同步,以保证各个玩家看到的游戏画面和状态是一致的。可以使用网络通信技术,将玩家的操作和状态信息发送给其他玩家,以实现状态同步。 6. 进行测试和调试:在完成以上步骤后,需要进行测试和调试,确保多人战斗环境的创建和运行没有问题。可以通过模拟多个玩家同时进行游戏,检查游戏的稳定性、性能和可玩性等方面。 7. 优化和改进:根据测试结果和用户反馈,对游戏进行优化和改进,提升游戏的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值