每每安装开源软件的时候,最头痛的就是编译安装的过程中出现了编译错误。有时看到大篇幅的编译错误时,就不知道该从哪下手修正错误了。这也许就是开源软件相对于商业软件难于普及的一个重要原因吧。
问题描述: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库的交叉编译过程以及如何使用该库进行数据库连接,以满足在64位ARM架构设备上的应用程序开发需求。 首先,让我们理解cppdb库的核心特性。cppdb提供了一种统一的C++接口来访问...
"openEuler 上编译安装 MLNX 驱动" openEuler 是一个基于 Linux 内核的操作系统,MLNX 驱动是 InfiniBand 高速互连技术的驱动程序。编译安装 MLNX 驱动是 openEuler 上实现高性能计算和高速存储的关键步骤。下面是 ...
在安装过程中,需要注意目标路径的权限问题。如果目标路径需要 root 权限,可以使用 `sudo` 命令来提升权限。例如,输入 `sudo make install PREFIX=/usr/local/bzip2` 命令。 GCC/GDB 是编译和调试 bzip2 源代码的...
在Mac操作系统上,一个常见的Java反编译工具是JD-GUI。JD-GUI是一款图形化界面的工具,它能够直观地显示类文件的源代码,而无需进行复杂的命令行操作。 标题中的"mac版本java反编译工具jd-gui"指的是专门为Mac OS...
在安装 Zabbix 之前,我们需要配置 apt-get 源,以便在安装过程中能够正确地获取所需的软件包。在这里,我们需要编辑 `/etc/apt/sources.list` 文件,以添加银河麒麟的软件源。 三、下载源码包 在这里,我们需要...
通过上述步骤,可以在CentOS 6.3系统上成功地编译安装Nginx、PHP和MySQL,构建出一个基础的Web服务器环境。需要注意的是,由于CentOS 6.3已经不再提供官方支持,运行这些服务时可能需要关注安全风险,并及时考虑升级...
"mac环境下-eclipse反编译插件"的标题表明我们讨论的是在苹果Mac操作系统上使用的Eclipse集成开发环境(IDE)中的反编译插件解决方案。 首先,我们要了解什么是反编译。反编译是将已编译的字节码(如Java的.class...
在安装依赖项之后,需要安装 `cmake` 和 `libpcre2-dev`,以便编译 FRR。然后,使用 git 克隆 FRR 的源码,并 checkout 到 v2.0.0 版本。接下来,创建一个 build 目录,并使用 cmake 生成 Makefile。最后,使用 make...
本教程将详细讲解如何下载QtCharts 5.7.0的源码,并在不同环境下进行编译与安装,包括Visual Studio 2010和2013,以及Windows XP和7操作系统,同时兼容Qt 5.5及以上版本。 ### 1. 下载QtCharts 5.7.0源码 首先,你...
标题中的“mac下编译jsoncpp”指的是在苹果操作系统(Mac OS)环境下编译jsoncpp库的过程。Jsoncpp是一个开源的C++库,用于处理JSON(JavaScript Object Notation)数据格式,广泛应用于软件开发中,特别是在需要与...
在IT领域,监控系统是确保服务稳定性和性能的关键工具,Zabbix是一款广泛应用的开源网络监控解决方案。本压缩包“zabbix4.4&httpd&php编译安装.zip”提供...记得在安装过程中遵循最佳实践,确保系统的安全性和稳定性。
同时,在安装过程中,可以选择一些不必要安装的选项。 二、编译 Intel FFTW3 VASP 5.4.4 的编译需要 FFTW3 的支持,因此需要编译 Intel FFTW3。进入 Intel 根目录(默认是 /opt/intel/compilers_and_libraries_...
本资源可结合我的文章《详解CentOS7下编译安装Redis5.x设置开机启动及修改端口(含redis需编译安装包和redis免编译安装包)》配合使用,同时也可单独去使用。包含redis3.0.7免编译版安装包,redis5.0.7离线安装包,...
这个"ltp-3.4.0 mac编译包"可能是作者在Mac 10.14.3上编译好的LTP版本,对于不想从头编译的人来说,可以直接下载并尝试运行。然而,由于每个系统的具体环境差异,使用这个预编译包前最好先了解其编译和运行的条件,...
本书以作者实现的一个基于Intelx86指令集的编译系统为例,结合程序代码的主要部分详细阐述了编译系统的实现原理和过程。本书对编译器、汇编器、链接器、编译优化器涉及的关键算法、数据结构和程序实现流程,以及ELF...
在安装过程中可能出现依赖冲突,需要手动调整版本以匹配系统需求,如 `sudo apt install zlib1g=1:1.2.11.dfsg-2kylin1`。 9. **安装 libgtk2.0-dev**: libgtk2.0 是用于图形用户界面的库,对于某些图形相关的...
在安装 Python 之前,需要安装一些必要的模块,例如 openssl、readline 等。如果没有这些模块,可能会出现一些问题,例如没有 openssl 则不支持 ssl 相关的功能。通过 yum 安装这些模块,例如: yum -y install ...
本篇文章将深入探讨如何在CentOS7系统上搭建用于ARM开发板的QT交叉编译环境。 首先,我们需要理解什么是交叉编译。交叉编译是在一种架构(如x86的CentOS7)上编译出另一种架构(如ARM)可执行程序的过程。在本案例...
在安装PHP之前,必须先安装一系列必要的库,包括jpeg、zlib、libpng、freetype、libiconv、libxml、libxslt、gd、libmcrypt、mhash、mcrypt、cmake、bison、mysql、apr、apr-util、pcre、httpd和curl。这些库的顺序...
网上大多都是Windows下的QT MQTT编译安装方法,Linux下有些不同,此文件是关于UBuntu和ARM Linux下QT MQTT库的编译安装详细步骤 -------------------------------------------------------- Linux版本:UBuntu 16.04...