build.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/bash
  2. # 安装软件
  3. sudo apt update
  4. sudo apt install -y g++
  5. sudo apt install -y cmake
  6. #sudo apt install -y libssl-dev
  7. #sudo apt install -y xorg libx11-dev libgl1-mesa-dev
  8. #sudo apt install -y openssl
  9. sudo apt install -y libboost-dev
  10. #sudo apt install -y libmysqlcppconn-dev
  11. sudo apt install -y libleveldb-dev
  12. #sudo apt install -y libsoci-dev
  13. #sudo apt install -y unixodbc-dev
  14. sudo apt install -y libmysqlcppconn-dev
  15. # 初始化变量
  16. src_dir=$(pwd)
  17. cd ..
  18. root_dir=$(pwd)
  19. install_dir=$(pwd)/ylib_linux_build
  20. # 创建必要文件夹
  21. if [ ! -d $install_dir ]; then
  22. mkdir $install_dir
  23. fi
  24. ##########################开始编译#########################
  25. ######3rdparty######
  26. cd $src_dir/3rdparty
  27. hp_socket_lib ="/usr/local/lib64/libhpsocket.a"
  28. if [ -e "$hp_socket_lib" ]; then
  29. echo "hpsocket installed"
  30. else
  31. # 下载HPSOCKET
  32. if [ ! -d "HP-Socket" ]; then
  33. git clone -b v5.9.1 https://github.com/ldcsaa/HP-Socket.git
  34. cd HP-Socket/Linux
  35. chmod 777 script/*
  36. echo "Y" | ./script/compile.sh
  37. echo "Y" | ./script/install.sh
  38. cd $src_dir/3rdparty
  39. # 安装HPSocket
  40. sudo cp HP-Socket/Linux/lib/hpsocket/x64/*.a /usr/local/lib/
  41. sudo cp HP-Socket/Linux/lib/hpsocket/x64/*.so /lib/x86_64-linux-gnu/
  42. sudo cp HP-Socket/Linux/lib/hpsocket/x64/*.so.5 /lib/x86_64-linux-gnu/
  43. sudo cp -r HP-Socket/Linux/include/* /usr/local/include/
  44. sudo mv /usr/local/include/hpsocket /usr/local/include/HPSocket
  45. fi
  46. fi
  47. # 安装mysql-connector-cpp
  48. cd $src_dir/3rdparty
  49. #if [ ! -d "mysql-connector-cpp" ]; then
  50. # git clone --branch 8.4.0 https://github.com/mysql/mysql-connector-cpp.git
  51. # cd mysql-connector-cpp
  52. # mkdir build
  53. # cd build
  54. # # 设置临时SWAP交换空间16G
  55. # sudo dd if=/dev/zero of=/tempswap bs=1M count=16384
  56. # sudo mkswap /tempswap
  57. # sudo swapon /tempswap
  58. # echo "MySQL Connector 编译较慢请耐心等待..."
  59. # cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_JDBC=true
  60. # make
  61. # sudo cp build/jdbc/libmysqlcppconn.so /lib/x86_64-linux-gnu/libmysqlcppconn.so
  62. # sudo cp -r jdbc/cppconn /usr/local/include
  63. # # 删除交换
  64. # sudo swapoff /tempswap
  65. # sudo rm /tempswap
  66. #fi
  67. ######核心######
  68. cd $install_dir
  69. cmake $src_dir .
  70. make -j4
  71. sudo make install