温馨提示×

Ubuntu C++怎么连第三方

小樊
34
2026-09-26 14:38:32
栏目: 编程语言

在 Ubuntu 上用 C++ 连接第三方库/服务,一般分几种常见情况。下面按最常见场景给你一个清晰指南。


一、连接「第三方 C/C++ 库」(如 OpenCV、Boost、curl)

1️⃣ 安装第三方库(以 apt 为例)

sudo apt update
sudo apt install libopencv-dev
sudo apt install libboost-all-dev
sudo apt install libcurl4-openssl-dev

2️⃣ 写 C++ 代码

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    cv::Mat img = cv::imread("test.jpg");
    std::cout << "size: " << img.size() << std::endl;
}

3️⃣ 编译(手动 g++)

g++ main.cpp -o test `pkg-config --cflags --libs opencv4`

或:

g++ main.cpp -o test -lopencv_core -lopencv_imgcodecs

二、使用 CMake 管理第三方库(推荐)

CMakeLists.txt 示例

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(OpenCV REQUIRED)

add_executable(demo main.cpp)
target_link_libraries(demo ${OpenCV_LIBS})

编译

mkdir build && cd build
cmake ..
make

三、连接「第三方服务」(HTTP / API)

示例:用 libcurl 请求第三方接口

#include <curl/curl.h>
#include <iostream>

int main() {
    curl_global_init(CURL_GLOBAL_DEFAULT);
    CURL* curl = curl_easy_init();

    curl_easy_setopt(curl, CURLOPT_URL, "https://api.example.com/data");
    curl_easy_perform(curl);

    curl_easy_cleanup(curl);
    curl_global_cleanup();
}

编译:

g++ main.cpp -o test -lcurl

四、连接「第三方 SO 动态库」(自己或厂商提供)

假设你有:

libthird.so
third.h

编译

g++ main.cpp -o test -L. -lthird -I.

运行前:

export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH

五、常见坑提醒 ⚠️

  • Ubuntu 默认 没有 g++,先装:
    sudo apt install build-essential
    
  • 头文件找不到 → -I
  • 库找不到 → -L / LD_LIBRARY_PATH
  • 架构不一致(x86 / arm)会直接报错

六、你具体是哪种“连第三方”?

你可以直接告诉我:

  • ✅ 连数据库(MySQL / Redis)
  • ✅ 连 SDK(厂商 .so)
  • ✅ 连 HTTP API
  • ✅ 连消息队列(MQTT / Kafka)

我可以给你针对性完整示例。

0 踩