在 Ubuntu 下“配置 C++ 库文件”通常涉及安装库、设置头文件路径、设置链接库路径、编译时链接库。下面按常见场景说明。
sudo apt update
sudo apt install libssl-dev # OpenSSL
sudo apt install libboost-all-dev # Boost
sudo apt install libopencv-dev # OpenCV
-dev 包包含:
/usr/include/usr/lib 或 /usr/lib/x86_64-linux-gnug++ main.cpp -o app -lssl -lcrypto
-l 后面是库名(去掉 lib 和 .so)
g++ -c mylib.cpp -o mylib.o
ar rcs libmylib.a mylib.o
使用:
g++ main.cpp -L. -lmylib -o app
g++ -fPIC -shared mylib.cpp -o libmylib.so
使用:
g++ main.cpp -L. -lmylib -o app
运行时需要:
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
./app
或把 .so 放到:
sudo cp libmylib.so /usr/local/lib
sudo ldconfig
g++ main.cpp -I/path/to/include -L/path/to/lib -lmylib
-I/usr/local/include-L/usr/local/libcmake_minimum_required(VERSION 3.10)
project(demo)
find_package(OpenCV REQUIRED)
add_executable(app main.cpp)
target_include_directories(app PRIVATE ${OpenCV_INCLUDE_DIRS})
target_link_libraries(app ${OpenCV_LIBS})
构建:
mkdir build && cd build
cmake ..
make
pkg-config --libs openssl
pkg-config --cflags openssl
编译:
g++ main.cpp $(pkg-config --cflags --libs openssl) -o app
ldconfig 或设置 LD_LIBRARY_PATH-I 指定路径如果你有具体库名(如 OpenCV、Boost、MySQL、自写库),可以告诉我,我给你一份针对性配置示例。