注:因为现在 acl_cpp 已经合并进 acl 项目中,本文仅是介绍了老版本的 acl_cpp 的编译过程,新版本的介绍及编译请参考:acl 框架库简介

acl_cpp 是基于 acl 为基础开发的,目前 acl_cpp 象 acl 一样支持 Linux 和 Windows 平台。有关 acl 的编译,请参考 《acl 的编译与使用 》,本文主要描述 acl_cpp 的编译与使用。

一、Linux 平台

acl_cpp 库编译后的静态库名为:lib_acl_cpp.a

1、编译 lib_acl_cpp.a 库

进入 acl_cpp 目录,直接运行命令:make 便可以在 lib/ 目录下生成 lib_acl_cpp.a 库,头文件在 include/ 目录下。

2、使用 lib_acl_cpp.a 库

用户在使用 lib_acl_cpp.a 库时,需要修改自己的 Makefile 文件,增加编译选项如下:

-I 指定 acl_cpp/include 头文件目录 ;

-L 指定 lib_acl_cpp.a 所在目录

-l_acl_cpp

因为 lib_acl_cpp.a 基于 lib_acl.a 和 lib_protocol.a,所以在链接您的程序时还需要添加这两个依赖库的位置,如:

-L {path_to_protocol} -l_protocol -L {path_to_acl} -l_acl -L{path_to_acl_cpp} -l_acl_cpp

另外,用户需要在自己的源程序或头文件中包含头文件:#include "acl_cpp/lib_acl.hpp"

二、Windows 平台

Win32 平台下,静态库名为:lib_acl_cpp.lib

1、编译 lib_acl_cpp.lib/lib_acl_cpp.dll 库

目前可以用 vc2003 或 vc2010 分别打开工程文件:acl_cpp_vc2003.sln 或 acl_cpp_vc2010.sln 来编译 win32 下的静态库或动态库。

2、使用 lib_acl_cpp.lib/lib_acl_cpp.dll 库

在您的工程中需要指定 acl_cpp/include 的头文件路径,同时在链接时需要指定库的位置,此外,还需要在您的源程序或头文件中包括头文件 "lib_acl.hpp";

另外,还得把 lib_acl_vc2003.lib 和 lib_protocol_vc2003.lib 拷贝到您的工程目录中;如果是连接动态库,则需要将 lib_acl.dll, lib_protocol.dll, lib_acl_cpp_vc2003_dll.dll 动态库拷贝至您的可执行程序折运行目录。

如果您对编译和使用 acl_cpp 的库有疑问,请参考 acl_cpp/samples/ 下的示例,有完整的 Makefile 文件或 win32 下的工程文件。

个人微博:http://weibo.com/zsxxsz

原文件地址:http://zsxxsz.iteye.com/blog/1535688

acl 介绍

acl 下载

acl 的编译与使用

更多文章: http://zsxxsz.iteye.com/

QQ 群:242722074

https://my.oschina.net/u/568966/blog/309563

acl_cpp 是基于 acl 库的 C++ 库
https://sourceforge.net/projects/aclcpp/
https://www.oschina.net/p/acl_cpp

acl_cpp 的编译与使用的更多相关文章

  1. TODO:macOS编译PHP7.1

    TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...

  2. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  3. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  4. CENTOS 6.5 平台离线编译安装 Mysql5.6.22

    一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...

  5. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  6. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  7. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  8. 在Windows上编译和调试CoreCLR

    生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...

  9. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~

    这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...

随机推荐

  1. spark action之countbykey

    java public class CountByKeyDemo { private static SparkConf conf = new SparkConf().setMaster("l ...

  2. android studio报错提示: Gradle DSL method not found: 'android() 解决方案

    原文错误提示: Error:(16, 0) Gradle DSL method not found: 'Android()'Possible causes:<ul><li>Th ...

  3. springboot内置tomcat验证授权回调页面域名

    springboot内置tomcat验证公众号授权回调页面域名 解决方法: 网上下载一个tomcat,在server.xml文件中修改端口为springboot内置tomcat的端口号,复制验证文件到 ...

  4. 深入Lazy<T>——.NET Framework 4.0

    .NET Framework 4 在一次次跳票中终于发布了,在一次偶然的机会,我看到了 Anytao 的 [你必须知道的.NET]第三十三回,深入.NET 4.0之,Lazy<T>点滴 . ...

  5. 从vue1迁移到vue2踩到的两个坑

    先说第一个,在vue1中用v-for的时候,习惯性用$index和$key来取键.今天迁移到vue2之前,也知道vue2里不能这样用了,结果还是出问题了, 数据渲染不出来. <li v-for= ...

  6. codeblocks如何设置,启动后自动打开上次未关闭的workspace

    设置--环境--普通设置--on application start-up -------default 关闭code::blocks时不要关那个workspace就可以.至于其它方法就不知道了.

  7. WPF 修改图片颜色

    原文:WPF 修改图片颜色 本文告诉大家如何修改图片的颜色,如去掉图片的蓝色 在 WPF 可以使用很多图片处理的方法,本文告诉大家的是一个图片处理,可以把处理的图片保存在文件. 在阅读本文,我假设大家 ...

  8. uwp - 获取当前屏幕宽高/应用宽高

    原文:uwp - 获取当前屏幕宽高/应用宽高 public static Size GetScreen() { var applicationView = ApplicationView.GetFor ...

  9. 1 DDD理论学习1 通用语言

    通用语言就是将事情描述清楚的语言 达到DDD的目标代码即设计,设计即代码.通俗的讲,也就是开发人员写的代码领域专家也能看懂. ddd模式跟传统模式的一个区别在于 传统先创建数据库表 再根据表创建类.而 ...

  10. 关于FileZilla上传文件后服务器端文件与本地文件大小不一致的解决方法

    最近在调试网站时发现,通过ftp上传工具FileZilla上传至服务器端的文件与本地文件大小不一致,虽然没有影响网站的最终显示效果,但仍让我困惑不解.后发现是传输类型的原因,解决方法如下: 中文版Fi ...