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++库相关推荐

  1. iOS架构-C/C++lame库在Mac下编译通用静态库.a库(13)

    C/C++ 有很多成熟的库,还有很多特殊功能的库,有时候iOS 平台开发一些比较前沿或者冷门的功能时,iOS并没有提供解决方案,这时候就可以研究C/C++的一些库,为我们使用.但是在Xcode编译C/ ...

  2. linux编译poco静态库,iOS——为Xcode编译POCO C++静态库

    一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ...

  3. c++工程在 Mac 下编译成.a库调用

    最近在IOS开发中有多次要集成c++工程,所以整理了一下怎么在Mac下把C++工程编译成.a库,在IOS中调用. **clang实现** 第一步 准备 a 创建一个C++ demo工程 b 创建一个头 ...

  4. iOS架构-c++工程在Mac下编译成.a库并调用(12)

    请先了解:xcode生成静态库文件.a 前言: 有时侯需要使用c++的一些代码库,这里先讲一下用Xcode 建C++ 工程,并将代码编译成.a库,提供给demo使用.这里只是简单的介绍,以后会继续介绍 ...

  5. 编译-POCO C++支持iOS平台的静态库

    一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ...

  6. Mac 编译OpenSSL 静态库、动态链接库

    1.编译环境 Mac系统版本:10.15.2 Android NDK版本:android-ndk-r14b OpenSSL地址:https://www.openssl.org/source/ Open ...

  7. Ubuntu16.04编译poco库

    Ubuntu16.04编译poco库 概述 下载 编译 解压 编译 完整编译 部分编译 编译 安装 参考文章 概述 Poco C++库是一系列C++类库,类似Java类库,.Net框架,Apple的C ...

  8. Mac下编译腾讯Mars的Xlog日志库

    一.环境配置 运行环境: 1. 系统:Mac os Apple M1 2. Android Studio 4.0 配置环境: 1. 配置jdk环境 2. 配置ndk环境:    下载android-n ...

  9. Poco C++库简介

    学习一个框架前,要先明白它的是什么,为什么,怎么用.下面这些文字,是从中文poco官网上转过来的,正如poco c++库的特点,非常清晰,代码风格更是一目了然. poco开发库的特点,非常适合写后台处 ...

最新文章

  1. jQuery源码-jQuery.fn.each jQuery.each
  2. UNIX再学习 -- 死磕内存管理
  3. TOJ 4393 Game
  4. SpringSecurity过滤器链加载原理
  5. Project编写功能点的规划时间
  6. mysql存储日期 jsp_JSP+MySql的时间处理
  7. python处理txt文件的一种情况
  8. 8.19 NOIP模拟测试26(B) 嚎叫响彻在贪婪的厂房+主仆见证了 Hobo 的离别+征途堆积出友情的永恒...
  9. 扩展KMP模板(学习)
  10. 骨龄测试软件app_测测app下载-工具包-测测下载v1.0.11 安卓版-西西软件下载
  11. Excel数据透视,日期最大值或最小值显示为0
  12. 科学绘图软件 Prism 安装教程
  13. 镜像神经元现象是什么,镜像神经元的作用
  14. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的监护系统,试写出问题定义并且分析开发这个系统的可行性
  15. 这些优秀的 Spring Cloud 开源软件,你知道的有几个?
  16. axios跨域解决方案
  17. MySQL语句面试(二)
  18. 什么是MSB、LSB、LSW、MSW,什么是大端、小端,区别是什么?
  19. python语言使用不需要付费不存在商业风险_python+-中国大学mooc-题库零氪
  20. 红米k30s至尊纪念版和华为p30pro哪个好

热门文章

  1. 二十岁的男人(应该需要做什么)
  2. 2020-10-15(重力场、拖拽、轮播图)
  3. H5(HTML)网页制作基础
  4. 模型并行,数据并行,参数平均,ASGD
  5. 乒乓球单循环赛_【乒乓球比赛单循环表资讯】乒乓球比赛单循环表足球知识与常识 - 足球百科 - 599比分...
  6. Stochastic Approximation
  7. 雷电网络(二):掌握雷电网络的特点 | 区块链技术博客
  8. 雷电模拟器桥接模式不显示网卡,4版本不能设置代理
  9. Java list转tree,tree转list(递归实现)
  10. Ubuntu系统拼音无法正确打字怎么解决?