温馨提示×

ubuntu c++怎样部署应用

小樊
46
2026-09-02 09:04:58
栏目: 编程语言

在 Ubuntu 上部署 C++ 应用,通常有几种常见方式,取决于你是命令行程序、后台服务,还是带界面的程序。下面按“从简单到规范”的方式讲。


一、最简单:直接编译 + 运行

1. 安装编译环境

sudo apt update
sudo apt install g++ cmake build-essential

2. 编译程序

g++ main.cpp -o myapp

3. 运行

./myapp

适合:

  • 自己用
  • 测试
  • 临时部署

二、正式一点:安装到系统目录

1. 编译

g++ main.cpp -o myapp

2. 安装

sudo cp myapp /usr/local/bin/

3. 使用

myapp

适合:

  • 命令行工具
  • 内部使用

三、使用 CMake 部署(推荐)

1. 目录结构

myapp/
├── CMakeLists.txt
├── main.cpp

2. CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(myapp)

add_executable(myapp main.cpp)

install(TARGETS myapp DESTINATION bin)

3. 编译 & 安装

mkdir build && cd build
cmake ..
make
sudo make install

可执行文件会安装到:

/usr/local/bin/myapp

四、作为后台服务运行(systemd)

适合 服务器程序 / 守护进程

1. 编译并安装

sudo cp myapp /opt/myapp/

2. 创建服务文件

sudo vim /etc/systemd/system/myapp.service

内容:

[Unit]
Description=My C++ App
After=network.target

[Service]
ExecStart=/opt/myapp/myapp
Restart=always
User=root

[Install]
WantedBy=multi-user.target

3. 启动服务

sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

查看状态:

systemctl status myapp

五、打包成 Debian 包(.deb)

适合 分发给他人 / 生产环境

基本流程

sudo apt install dpkg-dev

目录结构:

myapp/
├── DEBIAN/control
├── usr/local/bin/myapp

control 示例:

Package: myapp
Version: 1.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: you@example.com
Description: My C++ application

打包:

dpkg-deb --build myapp

安装:

sudo dpkg -i myapp.deb

六、容器化部署(Docker,进阶)

适合:

  • 微服务
  • 生产环境
  • 跨机器部署

示例 Dockerfile:

FROM ubuntu:22.04
RUN apt update && apt install -y g++
COPY main.cpp /app/main.cpp
RUN g++ /app/main.cpp -o /app/myapp
CMD ["/app/myapp"]

七、常见注意事项

✅ 动态库依赖

ldd myapp

✅ 静态编译(减少依赖)

g++ main.cpp -static -o myapp

✅ 权限

chmod +x myapp

总结选择建议

场景 推荐方式
自己用 直接运行
内部工具 /usr/local/bin
后台服务 systemd
分发软件 .deb
生产/云 Docker

如果你愿意,可以告诉我:

  • 是 命令行 / GUI / 服务
  • 是否 服务器长期运行
  • 是否 需要给其他机器用

我可以给你一个完全适合你项目的部署方案。

0 踩