Game

来自linux中国网wiki
Evan讨论 | 贡献2025年5月18日 (日) 09:09的版本 →‎compile lib
跳到导航 跳到搜索

贪吃蛇

#pre
sudo yum install mesa-libGL-devel

yum install libudev-devel

sudo yum install gcc-c++ cmake make libX11-devel libXrandr-devel \
                 freetype-devel openal-soft-devel libjpeg-turbo-devel \
                 libvorbis-devel flac-devel

wget https://www.sfml-dev.org/files/SFML-2.5.1-sources.zip
unzip SFML-2.5.1-sources.zip
cd SFML-2.5.1

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/sfml.conf'
sudo ldconfig



# 安装依赖(Ubuntu示例)
sudo apt install sfml2.5-dev g++
#代码
https://github.com/evan886/snake_game.git

# 创建构建目录
mkdir build && cd build

# 生成Makefile
cmake .. -DCMAKE_BUILD_TYPE=Release

# 编译
make -j$(nproc)

# 运行
./SnakeGame

err

/usr/bin/ld: 找不到 -lmysqlclient
/usr/bin/ld: 找不到 -lrogame_pb
collect2: 错误:ld 返回 1
make[2]: *** [loginserver/CMakeFiles/loginserver.dir/build.make:1793:bin/loginserver] 错误 1
make[1]: *** [CMakeFiles/Makefile2:595:loginserver/CMakeFiles/loginserver.dir/all] 错误 2


[evan@MengZhan build]$ sudo yum whatprovides libmysqlclient*
上次元数据过期检查:0:03:01 前,执行于 2025年05月15日 星期四 14时57分07秒。
mysql-libs-8.0.26-1.module_el8.4.0+915+de215114.x86_64 : The shared libraries required for MySQL clients
仓库        :AppStream
匹配来源:
提供    : libmysqlclient.so.21()(64bit)
提供    : libmysqlclient.so.21(libmysqlclient_21.0)(64bit)


/home/evan/roserver/gateserver/network/protocolcoder.cpp:42:对‘ZlibTool::Compress2(char const*, int, int)’未定义的引用
collect2: 错误:ld 返回 1
make[2]: *** [gateserver/CMakeFiles/gateserver.dir/build.make:1314:bin/gateserver] 错误 1
make[1]: *** [CMakeFiles/Makefile2:569:gateserver/CMakeFiles/gateserver.dir/all] 错误 2
make: *** [Makefile:91:all] 错误 2
[evan@MengZhan build]$ sudo dnf install mariadb-devel
上次元数据过期检查:0:06:45 前,执行于 2025年05月15日 星期四 15时02分43秒。
错误:
 问题: 软件包 mariadb-devel-3:10.3.28-1.module_el8.3.0+757+d382997d.x86_64 需要 mariadb-connector-c-devel >= 3.1.11,但没有提供者可以被安装
  - 软件包 mariadb-connector-c-devel-3.1.11-2.el8_3.i686 需要 libmariadb.so.3,但没有提供者可以被安装
  - 软件包 mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64 需要 mariadb-connector-c = 3.1.11-2.el8_3,但没有提供者可以被安装
  - 已安装的软件包 MariaDB-shared-10.5.19-1.el8.x86_64 取代了 mariadb-connector-c(由 mariadb-connector-c-3.1.11-2.el8_3.i686 提供)
  - 已安装的软件包 MariaDB-shared-10.5.19-1.el8.x86_64 取代了 mariadb-connector-c(由 mariadb-connector-c-3.1.11-2.el8_3.x86_64 提供)
  - 冲突的请求
  - 安装的软件包的问题 MariaDB-shared-10.5.19-1.el8.x86_64
(尝试添加 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)
[evan@MengZhan build]$ sudo ldconfig
[evan@MengZhan build]$ ldconfig -p | grep libmysqlclient


cmake



ro

centos8

compile lib

第一个没成功 第二个成功
[root@evan-NUC11PAHi5 roserver]# ls lib/librogamelibs.a  -l 
lrwxrwxrwx. 1 root root 50 May 17 09:18 lib/librogamelibs.a -> ../rogamelibs/buildtool/Server/lib/librogamelibs.a
[root@evan-NUC11PAHi5 roserver]# ll  lib/libconfiglib.a 
lrwxrwxrwx. 1 root root 55 May 17 09:18 lib/libconfiglib.a -> ../rogamelibs/table/buildtool/Server/lib/libconfiglib.a
[root@evan-NUC11PAHi5 roserver]# 


Ubuntu24 mysql5.7

trouble shooting

[  7%] Linking CXX executable ../bin/masterserver
/usr/bin/ld: cannot find -loauth
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
make[2]: *** [masterserver/CMakeFiles/masterserver.dir/build.make:12594: bin/masterserver] Error 1
make[1]: *** [CMakeFiles/Makefile2:803: masterserver/CMakeFiles/masterserver.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
[root@evan-NUC11PAHi5 masterserver]# 

sudo dnf install liboauth-devel openssl-devel

知道整个游戏界面各个按钮什么的对应哪里