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

cppdb在mac系统上的编译安装

阅读更多

每每安装开源软件的时候,最头痛的就是编译安装的过程中出现了编译错误。有时看到大篇幅的编译错误时,就不知道该从哪下手修正错误了。这也许就是开源软件相对于商业软件难于普及的一个重要原因吧。

 

问题描述:cppdb在mac上的编译过程中出现了如下错误提示,

              Building CXX object CMakeFiles/cppdb.dir/drivers/odbc_backend.cpp.o

              /usr/local/src/cppdb-0.3.0/drivers/odbc_backend.cpp:46: error: size of array ‘assert_on_sqlwchar_is_16’ is negative

              make[2]: *** [CMakeFiles/cppdb.dir/drivers/odbc_backend.cpp.o] Error 1

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

              make: *** [all] Error 2

 

问题解决:

              显然,在编译安装odbc驱动时,出现了问题。因此,安装cppcms的经验,重新安装odbc库。

      1. port search odbc.

      2. 根据查询结果,选择合适的安装包名进行安装。sudo port install libiodbc.

      安装完毕后,重新编译cppdb,可是问题依旧。我要开发的网站,后端数据库使用的是mysql,试想cppdb作为抽象数据库访问层编译安装odbc对我来说也没什么大用,那不如直接关掉该选项。于是,进入到cppdb的安装路径,用文本编辑器打开CMakeLists.txt,将odbc默认安装选项改为option(DISABLE_ODBC     "Link odbc backend into the libcppdb" ON)。保存后,再重新编译安装cppdb库,编译安装通过。

 

问题2: 编译安装cppdb时,出现编译安装mysql驱动错误。我已经将mysql库的头文件库拷贝到/usr/include目录下,也将相关的libmysqlclient库拷贝到/usr/lib目录下,问题依旧。

问题解决:根据编译错误提示,猜想可能是因为我拷贝的库文件是32位的缘故,所以去mysql的官网,下载了64.tar.gz包,解压后,从/usr/include, 和/usr/lib目录,将原来拷贝好的32位mysql头文件和库文件删除掉,然后从64位库解压目录中,将对应的include文件目录中的所有头文件再次拷贝到/usr/include目录,再把lib目录中的所有mysql库拷贝到/usr/lib目录中。最后,重新编译cppdb库,安装终于通过了。

分享到:
评论

相关推荐

    aarch64_cppdb.zip

    本文将深入探讨在aarch64架构下的cppdb库的交叉编译过程以及如何使用该库进行数据库连接,以满足在64位ARM架构设备上的应用程序开发需求。 首先,让我们理解cppdb库的核心特性。cppdb提供了一种统一的C++接口来访问...

    openEuler 上编译安装MLNX驱动

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

    编译安装bzip2的笔记。

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

    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...

    银河麒麟编译安装zabbix 4.0TLS.docx

    在安装 Zabbix 之前,我们需要配置 apt-get 源,以便在安装过程中能够正确地获取所需的软件包。在这里,我们需要编辑 `/etc/apt/sources.list` 文件,以添加银河麒麟的软件源。 三、下载源码包 在这里,我们需要...

    mac 反编译工具

    标题中的“mac反编译工具”指的是适用于苹果Mac OS操作系统的一类工具,这些工具能够帮助开发者和研究人员对Java字节码进行逆向工程,以查看原始的源代码。在Java世界里,.jar文件是经过编译后的二进制形式,通常...

    mac环境下-eclipse反编译插件

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

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

    标题中的“mac下编译jsoncpp”指的是在苹果操作系统(Mac OS)环境下编译jsoncpp库的过程。Jsoncpp是一个开源的C++库,用于处理JSON(JavaScript Object Notation)数据格式,广泛应用于软件开发中,特别是在需要与...

    麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.doc

    本文主要介绍了在银河麒麟系统V4上编译安装Qt5.12的过程,涵盖了从下载Qt源码到安装 Qt的整个过程。 一、下载Qt源码 Qt源码可以从官方网站下载,笔者经常使用Qt5.9和Qt5.12两个大版本。本文将下载Qt5.12.7版本。 ...

    QtCharts5.7.0源码及编译安装教程

    本教程将详细讲解如何下载QtCharts 5.7.0的源码,并在不同环境下进行编译与安装,包括Visual Studio 2010和2013,以及Windows XP和7操作系统,同时兼容Qt 5.5及以上版本。 ### 1. 下载QtCharts 5.7.0源码 首先,你...

    zabbix4.4&httpd&php编译安装.zip

    在IT领域,监控系统是确保服务稳定性和性能的关键工具,Zabbix是一款广泛应用的开源网络监控解决方案。本压缩包“zabbix4.4&httpd&php编译安装.zip”提供...记得在安装过程中遵循最佳实践,确保系统的安全性和稳定性。

    libuv在centos下的编译安装.pdf

    本文件将介绍如何在CentOS系统上编译安装libuv库,并进行简单的测试验证。整个过程可以分为四个主要章节。 首先,工具安装环节包括了通过yum包管理器安装automake和libtool。这两个工具是编译源代码过程中必要的...

    Ubuntu20.04源码编译安装FRR.pdf

    在安装依赖项之后,需要安装 `cmake` 和 `libpcre2-dev`,以便编译 FRR。然后,使用 git 克隆 FRR 的源码,并 checkout 到 v2.0.0 版本。接下来,创建一个 build 目录,并使用 cmake 生成 Makefile。最后,使用 make...

    自己动手构造编译系统++编译、汇编与链接_14077184.pdf

    本书以作者实现的一个基于Intelx86指令集的编译系统为例,结合程序代码的主要部分详细阐述了编译系统的实现原理和过程。本书对编译器、汇编器、链接器、编译优化器涉及的关键算法、数据结构和程序实现流程,以及ELF...

    ltp-3.4.0 mac编译包

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

    银河麒麟V10系统+飞腾CPU交叉编译OpenCV

    在安装过程中可能出现依赖冲突,需要手动调整版本以匹配系统需求,如 `sudo apt install zlib1g=1:1.2.11.dfsg-2kylin1`。 9. **安装 libgtk2.0-dev**: libgtk2.0 是用于图形用户界面的库,对于某些图形相关的...

    clickhouse_21.8.14安装包(鲲鹏服务器+麒麟V10操作系统编译)

    在本项目中,我们针对国产化环境进行了适配,特别是在华为鲲鹏920处理器(基于aarch64架构)上以及麒麟V10操作系统上编译了Clickhouse的21.8.14版本。 华为鲲鹏920处理器是华为自主设计的高性能服务器芯片,基于ARM...

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

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

Global site tag (gtag.js) - Google Analytics