linux编译muparser

git clone [https://github.com/beltoforion/muparser.git](https://github.com/beltoforion/muparser.git)
tar -zxvf muparser-2.3.4.tar.gz 
cd muparser-2.3.4/
mkdir build
cd build
cmake ..
make
make install
cd ../samples
g++ -o example1 example1.cpp -lmuparser
./example1

生成linux环境下debug和release版本的静态库&动态库

#!/bin/bash

#清理之前的构建
rm -rf build_release build_release_static build_debug build_debug_static linux

#设置变量
BUILD_DIR="linux"

#创建必要的目录
mkdir -p "$BUILD_DIR/bin/Debug" "$BUILD_DIR/lib/Debug"
mkdir -p "$BUILD_DIR/bin/Release" "$BUILD_DIR/lib/Release"

#构建 Release 版本
mkdir -p build_release
cd build_release || exit 1
cmake -DCMAKE_INSTALL_PREFIX="$BUILD_DIR" \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY="../$BUILD_DIR/bin/Release" \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Release" \
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Release" \
..
make -j 64
make install

cd ..

mkdir -p build_release_static
cd build_release_static|| exit 1
cmake -DCMAKE_INSTALL_PREFIX="$BUILD_DIR" \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY="../$BUILD_DIR/bin/Release" \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Release" \
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Release" \
..
make -j 64
make install

cd ..

#构建 Debug 版本
mkdir -p build_debug
cd build_debug || exit 1
cmake -DCMAKE_INSTALL_PREFIX="$BUILD_DIR" \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=ON \
-DCMAKE_BUILD_TYPE=Debug \
 -DCMAKE_DEBUG_POSTFIX="_d"  \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY="../$BUILD_DIR/bin/Debug" \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Debug" \
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Debug" \
..
make -j 64
make install

cd ..

mkdir -p build_debug_static
cd build_debug_static|| exit 1
cmake -DCMAKE_INSTALL_PREFIX="$BUILD_DIR" \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DCMAKE_BUILD_TYPE=Debug \
 -DCMAKE_DEBUG_POSTFIX="_d"  \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY="../$BUILD_DIR/bin/Debug" \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Debug" \
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY="../$BUILD_DIR/lib/Debug" \
..
make -j 64
make install

cd ..

#拷贝 include 文件夹到 $BUILD_DIR
cp -r include "$BUILD_DIR/"

echo "构建完成!"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容