Mac下手动源码编译安装Swig

2024-01-31 13:52

本文主要是介绍Mac下手动源码编译安装Swig,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Homebrew安装

这个方式最简单,但是一般都是安装的最新版:

brew install swig

如果按照特定版本,需要看一个当前支持的列表:

brew search swig
brew install swig@3

源码编译安装

swig依赖pcre库,需要先安装pcre

安装pcre

下载链接:https://github.com/PhilipHazel/pcre2/releases

当前最新版本:在这里插入图片描述
安装步骤:

cd pcre2-10.40./configuremake && make install make -k check 

最终会安装到/usr/local目录。

安装swig

我这里需要的版本是4.0.2。
下载链接:https://www.swig.org/download.html
点击All releases,选择自己所需版本下载。

安装步骤:

./configuremake sudo make install

最终会安装到/usr/local目录。

遇到的问题

找不到libpcre.1.dylib

错误表现:

dyld[67898]: Library not loaded: @rpath/libpcre.1.dylib
Referenced from: <DE94F1C3-29F0-37BE-B92A-4C8087B41161> /usr/local/bin/swig
Reason: no LC_RPATH's found

查看swig需要链接的动态库pcre:

otool -l swig | grep pcrename @rpath/libpcre.1.dylib (offset 24)

这里pcre使用rpath (用于指定可执行文件或共享库在运行时查找依赖项的路径),我们知道pcre安装在/usr/local/lib目录下,所以解决方案:

sudo install_name_tool -add_rpath /usr/local/lib /usr/local/bin/swig

找不到libc++.1.dylib

错误表现一致:

dyld[71045]: Library not loaded: @rpath/libc++.1.dylib
Referenced from: <DE94F1C3-29F0-37BE-B92A-4C8087B41161> /usr/local/bin/swig
Reason: tried: '/usr/local/lib/libc++.1.dylib' (no such file), 
'/usr/local/lib/libc++.1.dylib' (no such file), 
'/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/libc++.1.dylib' (no such file), 
'/usr/local/lib/libc++.1.dylib' (no such file), 
'/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/libc++.1.dylib' (no such file)

查看swig需要链接的动态库pcre:

name @rpath/libc++.1.dylib (offset 24)

也是使用rpath,但是在/usr/local/lib目录下确实没有libc++。
之后,搜索了一下libc++的库:

find /usr -name "libc++.1.dylib"

发现之前安装anaconda3的时候有:

/usr/local/anaconda3/lib/libc++.1.dylib

所以可以改一下swig这里的链接:

sudo install_name_tool -change "@rpath/libc++.1.dylib" "/usr/local/anaconda3/lib/libc++.1.dylib" /usr/local/bin/swig

这样之后大工搞成。

验证

-> ~ swig -versionSWIG Version 4.0.2Compiled with g++ [x86_64-apple-darwin23.0.0]Configured options: +pcrePlease see http://www.swig.org for reporting bugs and further information

这篇关于Mac下手动源码编译安装Swig的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/663997

相关文章

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

2025最新版Python3.13.1安装使用指南(超详细)

《2025最新版Python3.13.1安装使用指南(超详细)》Python编程语言自诞生以来,已经成为全球最受欢迎的编程语言之一,它简单易学易用,以标准库和功能强大且广泛外挂的扩展库,为用户提供包罗... 目录2025最新版python 3.13.1安装使用指南1. 2025年Python语言最新排名2.

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p