一些记录

  • (不太重要的:其他都是最新版 ;ode 0.16.2 ;toluapp最新版 2013.2.18 LuaDist/toluapp)
  • Qt 5.14.0
  • lua 5.1.4
  • scons 3.0.1 太高会报错(tolua++太老了)
  • protobuf 最新版 date:22.04.22 version: 3.21-dev
  • protobuf直接用这个安装 忽略下面的 sudo install libprotobuf-dev protobuf-compiler
  • tolua安装直接用这个 忽略下面的sudo apt install libtolua++5.1-dev
  • toluapp里 python2(sudo下不能用anaconda) 或者把 Sconstuct里for linea in pkg.xreadlines(): 改成for linea in pkg.readlines():
  • 安装lua在系统里也应该安装,执行如下命令:
sudo apt-get install lua5.1
sudo apt-get install liblua5.1-dev
  • protobuf如果遇到版本切换,同名文件夹,不用apt remove+删除路径 亲测也没关系
  • Qt 如果找不到库的路径记得用sudo 打开
  • Qt 编译出错的时候记得把Debug文件夹用 sudo rm -rf build-Medusa-Desktop_Qt_5_14_0_GCC_64bit-Debug/ 这样的命令删除

摘录word原话:

配置git、github、robos

sudo apt-get install git
ssh-keyGen -t rsa -C "your_email"

顺便把公钥添加到自己的github

git config --global user.name "your_name"
git config --global user.email "your_email"
git clone git@github.com:Robocup-ssl-China/rocos
#或者
git clone https://github.com/Robocup-ssl-China/rocos

注:此版本为2022.4.23的版本

一、Client

1. 安装Ubuntu18.04.3

网上有各种超详细的安装教程,有Ubuntu+Windows双系统的,有Ubuntu纯系统的,我建议安装纯系统的。下面给出连接: https://blog.csdn.net/u014453443/article/details/88049804 https://blog.csdn.net/baiduCompiling Autoref_36602427/article/details/86548203
注意:请给位老师同学注意,经我们内部测试,Ubuntu18.04.4在Client编译连接某个外部函数库时会出现异常,所以建议使用Ubuntu18.04.3版本。系统下载资源如下链接中:https://www.linuxidc.com/Linux/2019-08/159936.htm

2.安装Qt5.14

在网上下载Qt5.14,下载版本为qt-opensource_linux-x64-5.14.0.run,双击运行run文件,并安装到~/目录下。 (注:这里需要加可执行权限
Qt下载路径:http://download.qt.io/archive/qt/5.14/5.14.0/
接下来是各种编译所需依赖包的安装

3.zlib安装

Zlib是一个压缩函数库,安装比较简单,在terminal下直接敲命令安装
Zlib参考安装教程: https://blog.51cto.com/xxaqustc/1166371
执行命令:

$ sudo apt-get install zlib1g
$ sudo apt-get install zlib1g.dev

同下

4.Eigen3安装

Eigen3是一个矩阵运算函数库
Eigen参考安装教程: https://www.cnblogs.com/newneul/p/8256803.html
执行命令:

sudo apt-get install libeigen3-dev
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

注意:apt-get安装的包,一般都是在/usr/local/include/下的(注:我在/usr/include,所以是sudo cp -r /usr/include/eigen3/Eigen /usr/local/include ,这个自己找一下吧),如果目录下有eigen,说明安装成功。同下

5.Protobuf的安装

Protobuf是google公司推出的一种数据传输格式,需要安装此协议格式的解析函数包。
参考安装教程:https://blog.csdn.net/kdchxue/article/details/81046192 https://blog.csdn.net/triplestudio/article/details/93591161
用git clone下载protobuf会很慢(注:用git clone 是可以的,用git@GitHub比https快很多),建议直接在goole protobuf源地址下载(https://github.com/protocolbuffers/protobuf)
命令:

sudo apt-get install autoconf automake libtool curl make g++ unzip
git clone https://github.com/google/protobuf.git
cd protobuf3 #protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.

6、OpenGL 安装

openGL是一个开源的图形函数库,参考安装教程:https://blog.csdn.net/huangkangying/article/details/82022177 https://blog.csdn.net/renhaofan/article/details/82631082
命令:

sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev

7、Cmake安装

Cmake3.16在ubuntu1804下有问题,建议装cmake3.14。 安装教程:https://blog.csdn.net/stanfan/article/details/88681165 教程中的案例是ubuntu1604,但是和1804方法是一样的。

8.ODE安装

ODE是一个开源的动态引擎库,给client仿真提供支持。 Ode的安装教程: https://www.dazhuanlan.com/2019/12/17/5df7b25f579d0/

./bootstrap
sudo apt-get install automake
./configure --enable-double-precision --enable-shared --enable-libccd
make
sudo make install
sudo cp -r include/drawstuff /usr/local/include/
sudo cp drawstuff/src/.libs/libdrawstuff.* /usr/local/lib
sudo ldconfig
  • 最后,需要在GitHub上下载ChinaOpenSSL的开源代码,地址是https://github.com/Robocup-ssl-China/rocos,建议注册github后下载。
  • 安装好ubuntu系统,下载好小型足球机器人SSL开源代码,安装好IDE工具和各种依赖包,现在就可以开始编译开源代码了。
  • 运行QtCreator,可以在主桌面右下角显示应用程序中搜索,也可以在Qt5.14->Tools->QtCreator->bin目录下打开qtcreator。
  • 在QtCreator工具栏文件->打开文件或项目中,打开下载的ChinaOpenSSL开源代码包Client文件夹下的CMakeLists.txt文件。Client项目代码添加到QtCteator中。单击QtCreator工具栏中构建按钮,选择“执行CMake”,IDE开始根据调用gcc/c++17编译器解析CMakeLists.txt编译整个项目。
  • 如果一切顺利,编译输出会提示编译成功,并告诉你编译结果放在那里了。在命令行终端(Ctrl+Shift+T)进入ZBin目录,输入./Client执行,就可以看到client界面了。

二、Medusa

Client是小型足球机器人的控制前端,Medusa是真正的后台程序。编译Medusa需要lua5.1和to lua++这两个依赖库。

lua5.1

Lua5.1安装教程:https://mobile.51cto.com/iphone-288738.html
使用sudo apt-get install lua5.1命令直接安装上lua,但是在c语言中嵌入lua的时候会说找不到lua.h等文件,因此如果只是简单的运行lua命令执行一些lua语句,那么这个是足够了,但是如果要是在c语言中嵌入,就必选采用以下方法:

1)先去Lua的官网(http://www.lua.org/ftp/)下载***发布包,我选择的是 lua-5.1.4.tar.gz
2)使用命令tar -xzvf lua-5.1.4.tar.gz
3)cd lua-5.1.4, 然后执行make
4)sudo make install
注:make后要加linux make前执行sudo apt install libreadline-dev

tolua++

Tolua++安装教程:https://www.dazhuanlan.com/2019/10/05/5d97c3a14c67f/
命令:

git clone git@github.com:LuaDist/toluapp.git
sudo apt-get install scons
cd toluapp/
gedit custom.py

然后添加内容 :

CCFLAGS = ['-I/usr/include/lua5.1', '-O2', '-ansi']
# 自己通过命令 sudo find / -name "*liblua*" 来查静态库.a文件在哪, 然后把路径填到下面
LIBPATH = ['/usr/lib/x86_64-linux-gnu']
LIBS = ['lua5.1', 'dl', 'm']
#prefix = '/mingw'
#build_dev=1
tolua_bin = 'tolua++5.1'
tolua_lib = 'tolua++5.1'
TOLUAPP = 'tolua++5.1'
scons all
scons install

(注:这里会遇到奇怪错误,详见笔者写在最前面的)
现在,lua和c++之间就能相互解析语法了

生成一些需要的文件

(注:这里的顺序笔者修改了)
在下载的ChinaOpenSSL文件夹下找到auto_linux.sh脚本。执行它

qt 编译

然后打开QtCreator,在QtCreator工具栏文件->打开文件或项目中,打开下载的ChinaOpenSSL开源代码包Medusa中的Medusa.pro文件。在项目栏中选择medusa,单击右键,选择qmake,开始执行编译。
这是,编译会报错,提示“No rule to make target”share/proto/cpp/grSim_Commands.pb.cc”。在下载的ChinaOpenSSL文件夹下找到auto_linux.sh脚本。执行它,会生成我们需要的grSim_Commands.pb.cc和lua_zeus.cpp,然后把gSim_Commands.pb.cc拷贝到Qt报错提示的目录下(share/proto/cpp/),再次执行qmake 。
如果还是报错,关闭Medusa,删除build-Medusa-Desktop_Qt_5_14_0_GCC_64bit-Debug整个文件夹,然后在重新加载,执行编译\构建,就应该OK了。

运行

最后,我们打开两个终端,分别进入ChinaOpenSSL/ZBin/,先在一个终端中执行./Client,打开Client前端,连接simulation开关;然后在另一个终端执行./MedusaD,后台运行.这时我们就能在Client看到机器人执行演示程序.
后续,我们将给大家介绍如何在Medusa项目中写自己的skill,并完成用lua脚本调用执行.

China-open-ssl编译的一些记录相关推荐

  1. IAR stm32中函数硬是要加上声明才能编译通过,记录一下

    硬是要加上声明才能编译通过,记录一下.

  2. ROS-Melodic 编译Moveit全过程记录和错误解决方案

    ROS-Melodic 编译Moveit全过程记录和错误解决方案 在Ros Melodic版本下,直接运行sudo apt-get install ros-melodic-moveit会出现以下错误: ...

  3. windows编译g20问题解决记录

    windows编译g20问题解决记录 error C3861: 'vasprintf': identifier not found 参考链接 here

  4. jenkins编译H5做的android端编译卫士app记录

    jenkins编译H5做的android端编译卫士app记录 编译android相关操作 先安装linux下的sdk tools,在官方地址上Download Android Studio and S ...

  5. mysql ssl编译_centos编译安装配置支持ssl加密的mysql replication

    参考文章:http://www.howtoforge.com/how-to-set-up-mysql-database-replication-with-ssl-encryption-on-cento ...

  6. Ubuntu16.04 Caffe 编译安装步骤记录

    历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受 ...

  7. 编写第一个Linux环境下程序的编译,下载记录

    跟着韦东山学习Linux: 今天系统系统性的学了代码的编译下载,条记录一下: 一,代码:001_led_on.S,就把下面代码编译后Bin文件下载进2440处理器. /* * 点亮LED1: gpf4 ...

  8. ubuntu下编译安装mysql记录

    搞了整整一天,好不容易折腾完,在此记录下,下次就省事了.      去官网http://www.php.net/downloads.php下载所需要的php版本,这里我选择5.6.22.      下 ...

  9. Android NDK 编译 三方库记录 及 jni库封装问题

    因工作需求, 要将原先的c++库跨平台编译,在Android上运行, 其依赖了几个第三方库, 也需要一起编译, 在此做个记录 所需工具(centos 系统上完成) 1. cmake 3.15.6 2. ...

最新文章

  1. RocketMQ命令整理
  2. SQL面试题: 数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列 ,当B列大于C列时选择B列否则选择C列 ,...
  3. ASP.NET Menu控件子菜单弹出导致页面出现滚动条问题
  4. bzoj 1827: [Usaco2010 Mar]gather 奶牛大集会【树形dp】
  5. 从ftp获取文件并生成压缩包
  6. 并不对劲的bzoj2038:p1494:[国家集训队]小Z的袜子
  7. 用计算机弹奏hop,关于职称计算机Photohop模拟练习题参考
  8. P4556 雨天的尾巴
  9. FILESTREAM data cannot be placed on an empty filegroup 解决办法
  10. Go基础:不同数据类型作为函数参数传递值传递/地址(引用)传递判断
  11. react.js 表单验证-登录框
  12. android 禁用跳转动画,android – 禁用ViewPager滚动动画
  13. LINUX 远程复制
  14. 什么软件可以换电脑ip地址
  15. MySQL创建数据库和创建数据表
  16. Matlab中图形对象属性gcf使用
  17. 最专业逻辑图和最专业项目文档制作实战讲解
  18. 制作自己的ChatGPT
  19. 微信支付服务商,消费者投诉处理系统
  20. 新手如何看k线(图)

热门文章

  1. electron播放本地任意格式的视频
  2. JVM 启动参数详解:博观而约取、厚积而薄发
  3. 方知截教有鸿蒙,包罗万象的意思及成语解释
  4. 关键字volatile有什么含意 并给出三个不同的例子
  5. 两个开关控制一个灯电路图,一灯二控接线图
  6. 解决The following classes could not be found:XXX问题
  7. Teigha .dwg文件开发——基础概念
  8. 鼎信设备对接VOS系统_解密消防系统中的防爆设备
  9. 会声会影X4模板:在浪漫星光下 震撼婚礼庆典 模板下载
  10. 据说美剧《硅谷》是程序员成功人士的必看剧?