Mac 上面编译POCO C++库
POCO C++是一个开源的C++库,这个库的功能还挺多,包括socket,http,加密,xml解析等。我们游戏里面用到这个库,但没有在mac虚拟机中编译过所以需要在mac下重新编译一下这个库。
1.我首先到http://pocoproject.org/下载源码
因为我是需要在Mac上编译,所以我下Linux版
2.把解压后的文件夹拖到桌面,打开终端,输入以后命令,跳转到Poco文件夹
3.参数解释: --omit排除(不编译的), --prefix安装路径
> sudo ./configure --omit=Data/ODBC,Data/SQLite --prefix=/usr --static --shared
> sudo make -s install
PS:
如果没有 --static --shared 默认为 shared 不编译静态库
如果在x64的系统下使用到静态库 .记得一定要加-fPIC,动态库不用.
>./configure --omit=Data/ODBC,Data/SQLite --prefix=/usr --cflags=-fPIC --static
>make -s install
否则会出现这类的错误:
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../
....
can not be used when making a shared object; recompile with -fPIC
4.编译完后:
我想要的就是这几个.a文件,这个和警告中相吻合。
如果你需要Iphone版本的编译,那么:
需要下载libpoco-all,解压后通过命令行进入poco根目录。输入以下命令编译静态库
sudo ./configure --config=iPhone --no-tests --no-samples --omit=Data/ODBC,Data/MySQL
sudo make IPHONE_SDK_VERSION_MIN=3.0 POCO_TARGET_OSARCH=armv6 -s -j4
sudo make IPHONE_SDK_VERSION_MIN=3.2 POCO_TARGET_OSARCH=armv7 -s -j4
sudo ./configure --config=iPhoneSimulator --no-tests --no-samples --omit=Data/ODBC,Data/MySQL
sudo make -s -j4
特别注意:
1)如果编译不过,一般是找不到IphoneSDK路径,可打开Build/Config/Iphone,修改路径
TOOL_PREFIX ?= /Applications/Xcode.app/Contents/Developer/Platforms/$(IPHONE_SDK).platform/Developer/usr/bin
2)如果嵌入工程编译出现i386错误,就需要编译i386平台静态库(针对模拟器)
sudo ./configure --config=iPhoneSimulator --no-tests --no-samples --omit=Data/ODBC,Data/MySQL
sudo POCO_TARGET_OSARCH=i386 make -s -j4
Mac 上面编译POCO C++库相关推荐
- iOS架构-C/C++lame库在Mac下编译通用静态库.a库(13)
C/C++ 有很多成熟的库,还有很多特殊功能的库,有时候iOS 平台开发一些比较前沿或者冷门的功能时,iOS并没有提供解决方案,这时候就可以研究C/C++的一些库,为我们使用.但是在Xcode编译C/ ...
- linux编译poco静态库,iOS——为Xcode编译POCO C++静态库
一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ...
- c++工程在 Mac 下编译成.a库调用
最近在IOS开发中有多次要集成c++工程,所以整理了一下怎么在Mac下把C++工程编译成.a库,在IOS中调用. **clang实现** 第一步 准备 a 创建一个C++ demo工程 b 创建一个头 ...
- iOS架构-c++工程在Mac下编译成.a库并调用(12)
请先了解:xcode生成静态库文件.a 前言: 有时侯需要使用c++的一些代码库,这里先讲一下用Xcode 建C++ 工程,并将代码编译成.a库,提供给demo使用.这里只是简单的介绍,以后会继续介绍 ...
- 编译-POCO C++支持iOS平台的静态库
一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ...
- Mac 编译OpenSSL 静态库、动态链接库
1.编译环境 Mac系统版本:10.15.2 Android NDK版本:android-ndk-r14b OpenSSL地址:https://www.openssl.org/source/ Open ...
- Ubuntu16.04编译poco库
Ubuntu16.04编译poco库 概述 下载 编译 解压 编译 完整编译 部分编译 编译 安装 参考文章 概述 Poco C++库是一系列C++类库,类似Java类库,.Net框架,Apple的C ...
- Mac下编译腾讯Mars的Xlog日志库
一.环境配置 运行环境: 1. 系统:Mac os Apple M1 2. Android Studio 4.0 配置环境: 1. 配置jdk环境 2. 配置ndk环境: 下载android-n ...
- Poco C++库简介
学习一个框架前,要先明白它的是什么,为什么,怎么用.下面这些文字,是从中文poco官网上转过来的,正如poco c++库的特点,非常清晰,代码风格更是一目了然. poco开发库的特点,非常适合写后台处 ...
最新文章
- jQuery源码-jQuery.fn.each jQuery.each
- UNIX再学习 -- 死磕内存管理
- TOJ 4393 Game
- SpringSecurity过滤器链加载原理
- Project编写功能点的规划时间
- mysql存储日期 jsp_JSP+MySql的时间处理
- python处理txt文件的一种情况
- 8.19 NOIP模拟测试26(B) 嚎叫响彻在贪婪的厂房+主仆见证了 Hobo 的离别+征途堆积出友情的永恒...
- 扩展KMP模板(学习)
- 骨龄测试软件app_测测app下载-工具包-测测下载v1.0.11 安卓版-西西软件下载
- Excel数据透视,日期最大值或最小值显示为0
- 科学绘图软件 Prism 安装教程
- 镜像神经元现象是什么,镜像神经元的作用
- 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的监护系统,试写出问题定义并且分析开发这个系统的可行性
- 这些优秀的 Spring Cloud 开源软件,你知道的有几个?
- axios跨域解决方案
- MySQL语句面试(二)
- 什么是MSB、LSB、LSW、MSW,什么是大端、小端,区别是什么?
- python语言使用不需要付费不存在商业风险_python+-中国大学mooc-题库零氪
- 红米k30s至尊纪念版和华为p30pro哪个好
热门文章
- 二十岁的男人(应该需要做什么)
- 2020-10-15(重力场、拖拽、轮播图)
- H5(HTML)网页制作基础
- 模型并行,数据并行,参数平均,ASGD
- 乒乓球单循环赛_【乒乓球比赛单循环表资讯】乒乓球比赛单循环表足球知识与常识 - 足球百科 - 599比分...
- Stochastic Approximation
- 雷电网络(二):掌握雷电网络的特点 | 区块链技术博客
- 雷电模拟器桥接模式不显示网卡,4版本不能设置代理
- Java list转tree,tree转list(递归实现)
- Ubuntu系统拼音无法正确打字怎么解决?