`
qqsunkist
  • 浏览: 32851 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

CPPCMS 在MAC上的安装与编译

阅读更多

问题描述:按照官网的步骤,进行如下操作

1. tar xzvf cppcms-1.0.1.tar.gz

2. cd cppcms-1.0.1

3. mkdir build

4. cd build

5. cmake -DCMAKE_INSTALL_PREFIX=/opt/local ..

编译过程中,出现了如下错误信息

 

Linking CXX shared library libbooster.dylib

        Undefined symbols for architecture x86_64:

        "_libiconv_close",

        referenced from: booster::locale::conv::impl::iconverter_base::~iconverter_base()in codepage.cpp.o                 booster::locale::conv::impl::iconverter_base::~iconverter_base()in codepage.cpp.o

        ⋯⋯

        ld: symbol(s) not found for architecture x86_64

        collect2: ld returned 1 exit status

        make[2]: *** [booster/libbooster.0.0.0.dylib] Error 1

        make[1]: *** [booster/CMakeFiles/booster.dir/all] Error 2

        make: *** [all] Error 2


问题解决:
乍看编译错误信息,很有可能被“symbol(s) not found for architecture x86_64 ”误导,因为看到这句话还以为系统中的库函数接口是32bit的,而非cppcms所要求的64bit的。于是乎,动手查询libiconv 64bit库,废了一番周折也没查到64位的库函数,倒是很容易找到32位的库。心想,我的macbook pro肯定是32位的(根据安装mysql的经验,足以判断出我的系统是32位的,而不是64位的)所以不如所幸编译安装下载的32位的libiconv库吧。

         这里插句,我是如何知道是libiconv库的,因为在编译错误中提示_libiconv_close的函数调用时出现的编译错误,所以google一下这个函数,就知道来自libiconv库了。这个库是gnu开源的字符集转换库。如果正常在linux上, 当然就是老套的编译安装步骤了(./configure --prefix=.., make, make install). 但是在mac上,我使用了macports。 

1. port search libiconv
2. sudo port install libiconv

安装完毕后,重新进行cppcms的编译安装过程,安装顺利完成。
结论:实际上编译错误x86_64的编译错误给予我一个误导信息,通常这种错误是因为系统缺少安装cppcms所需要的库。建议,按照官网的要求,将必需的和推荐库,甚至可选的库一并安装到系统后,再编译安装cppcms.
分享到:
评论

相关推荐

    编译好的CPPCMS库

    CPPCMS是一个C++ WEB库, 这个库在windows下编译的话会遇到很多问题, 而且会有VS版本兼容问题, 编译过程中要依赖很多工具。 上传一份打包好的库文件, 内部有使用说明。省去了配置编译的时间,方便在windows下开发。

    cppcms以及必要的第三方库

    首先,你需要下载并安装cmake,这将帮助你在Windows上配置cppcms的构建环境。然后,解压pcre和zlib的二进制文件,这些库是cppcms运行所必需的。确保将它们的头文件和库文件路径添加到你的编译环境中。接着,从cppcms...

    cppcms编译包x64版

    cppcms编译包x64版是一个专为64位Windows系统设计的开发包,它包含了一系列用于构建高性能Web应用程序的库和相关依赖项。这个压缩包主要用于在Win10 x64环境下,配合Visual Studio 2015 x64版本进行开发工作。cppcms...

    MAC Jar反编译工具

    2. 安装JD-GUI:在MAC上,通常是将下载的.dmg文件拖拽到"应用程序"目录中。 3. 运行JD-GUI:双击应用程序图标启动JD-GUI。 4. 反编译JAR文件:通过菜单栏选择"File" -> "Open File",然后选择需要反编译的JAR文件。 ...

    mac 版本 java反编译工具jd-gui

    在Mac操作系统上,一个常见的Java反编译工具是JD-GUI。JD-GUI是一款图形化界面的工具,它能够直观地显示类文件的源代码,而无需进行复杂的命令行操作。 标题中的"mac版本java反编译工具jd-gui"指的是专门为Mac OS...

    Windows和Solaris上Boost安装和编译

    以下是对Boost在Windows和Solaris平台上安装和编译的详细过程。 **Windows上的Boost安装和编译** 1. **下载Boost**: 首先,你需要访问Boost官方网站(https://www.boost.org/)下载最新的源代码包。下载完成后,...

    mac 反编译工具

    2. **启动应用**:在Mac上找到JD-GUI的图标,双击启动应用程序。 3. **加载文件**:点击顶部菜单栏的“File” > “Open File”,然后选择你要反编译的.jar或.class文件。 4. **查看源码**:一旦文件加载成功,JD-...

    最新mac版本android反编译工具包

    综上所述,这个“最新mac版本android反编译工具包”是MAC用户进行Android应用逆向工程的利器,集成了从解析资源到查看源代码的全套流程,对于开发者来说,无论是为了学习、调试还是其他合法目的,都是不可或缺的工具...

    mac下编译jsoncpp - 小码农的csdn博客 - 博客频道 - CSDN.NET1

    标签中提到的“.net”通常指的是Microsoft的.NET框架,这是一个用于构建各种类型应用程序的软件框架,与jsoncpp的编译过程在技术上没有直接关系,但可能是因为两者都在软件开发的范畴内,所以被一起提及。...

    mac环境下-eclipse反编译插件

    "mac环境下-eclipse反编译插件"的标题表明我们讨论的是在苹果Mac操作系统上使用的Eclipse集成开发环境(IDE)中的反编译插件解决方案。 首先,我们要了解什么是反编译。反编译是将已编译的字节码(如Java的.class...

    ccx2.16安装教程_编译_calculix_calculix编译_CalculiX安装_

    在Linux系统上编译并安装CalculiX是一个涉及多个步骤的技术过程,CalculiX是一款开源的有限元分析软件,提供前处理(CGX)、求解器(CCX)和后处理(DX)等功能,适用于结构力学、热流体动力学等领域的计算。...

    ltp-3.4.0 mac编译包

    这个"ltp-3.4.0 mac编译包"可能是作者在Mac 10.14.3上编译好的LTP版本,对于不想从头编译的人来说,可以直接下载并尝试运行。然而,由于每个系统的具体环境差异,使用这个预编译包前最好先了解其编译和运行的条件,...

    openEuler 上编译安装MLNX驱动

    "openEuler 上编译安装 MLNX 驱动" openEuler 是一个基于 Linux 内核的操作系统,MLNX 驱动是 InfiniBand 高速互连技术的驱动程序。编译安装 MLNX 驱动是 openEuler 上实现高性能计算和高速存储的关键步骤。下面是 ...

    myeclipse安装反编译插件

    本文将详细讲解如何在集成开发环境(IDE)MyEclipse中安装反编译插件,以便能够查看.class文件的源码。 首先,我们要了解什么是反编译。反编译是将已编译的机器代码转换回源代码的过程。在Java世界里,由于字节码是...

    Qt4安装与编译方法

    Qt4安装与编译方法

    菜鸟学习——安装交叉编译记录

    交叉编译是指在一个平台上编译出可以在另一个平台上运行的代码。在嵌入式开发领域,由于目标平台资源有限,通常采用这种方法。这里我们将重点介绍如何安装`arm-linux-gcc`交叉编译器,并验证其正确性。 #### 安装...

    eclipse安装反编译插件(图解+所需文件)

    在本文中,我们将深入探讨如何在Eclipse集成开发环境中安装反编译插件,以便能够查看Java字节码并理解其工作原理。反编译插件对于开发者来说是一个宝贵的工具,它可以帮助我们分析已编译的类文件,尤其是在处理开源...

    redis安装离线版免编译版及离线安装需要的所有包文件

    本资源可结合我的文章《详解CentOS7下编译安装Redis5.x设置开机启动及修改端口(含redis需编译安装包和redis免编译安装包)》配合使用,同时也可单独去使用。包含redis3.0.7免编译版安装包,redis5.0.7离线安装包,...

    编译安装bzip2的笔记。

    在安装过程中,需要注意目标路径的权限问题。如果目标路径需要 root 权限,可以使用 `sudo` 命令来提升权限。例如,输入 `sudo make install PREFIX=/usr/local/bzip2` 命令。 GCC/GDB 是编译和调试 bzip2 源代码的...

    Mac平台下可视化反编译工具.zip

    “签名”在iOS和Android开发中至关重要,因为应用在安装到设备上之前需要经过数字签名验证。签名确保了应用的来源可靠,未经修改,并且可以防止恶意篡改。在Mac上,开发者使用Xcode或其他第三方工具为iOS应用签名,...

Global site tag (gtag.js) - Google Analytics