每每安装开源软件的时候,最头痛的就是编译安装的过程中出现了编译错误。有时看到大篇幅的编译错误时,就不知道该从哪下手修正错误了。这也许就是开源软件相对于商业软件难于普及的一个重要原因吧。
问题描述: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库,安装终于通过了。
分享到:
相关推荐
"openEuler 上编译安装 MLNX 驱动" openEuler 是一个基于 Linux 内核的操作系统,MLNX 驱动是 InfiniBand 高速互连技术的驱动程序。编译安装 MLNX 驱动是 openEuler 上实现高性能计算和高速存储的关键步骤。下面是 ...
在安装过程中,需要注意目标路径的权限问题。如果目标路径需要 root 权限,可以使用 `sudo` 命令来提升权限。例如,输入 `sudo make install PREFIX=/usr/local/bzip2` 命令。 GCC/GDB 是编译和调试 bzip2 源代码的...
2. 安装JD-GUI:在MAC上,通常是将下载的.dmg文件拖拽到"应用程序"目录中。 3. 运行JD-GUI:双击应用程序图标启动JD-GUI。 4. 反编译JAR文件:通过菜单栏选择"File" -> "Open File",然后选择需要反编译的JAR文件。 ...
在安装 Zabbix 之前,我们需要配置 apt-get 源,以便在安装过程中能够正确地获取所需的软件包。在这里,我们需要编辑 `/etc/apt/sources.list` 文件,以添加银河麒麟的软件源。 三、下载源码包 在这里,我们需要...
通过上述步骤,可以在CentOS 6.3系统上成功地编译安装Nginx、PHP和MySQL,构建出一个基础的Web服务器环境。需要注意的是,由于CentOS 6.3已经不再提供官方支持,运行这些服务时可能需要关注安全风险,并及时考虑升级...
在Mac操作系统上,一个常见的Java反编译工具是JD-GUI。JD-GUI是一款图形化界面的工具,它能够直观地显示类文件的源代码,而无需进行复杂的命令行操作。 标题中的"mac版本java反编译工具jd-gui"指的是专门为Mac OS...
### 在虚拟机上编译、安装和运行VPP #### 安装环境需求 为了确保在虚拟机上顺利编译、安装并运行VPP,首先需要满足以下环境配置: - **虚拟机软件**:推荐使用VMware 12.5版本。 - **虚拟机操作系统**:Ubuntu ...
"mac环境下-eclipse反编译插件"的标题表明我们讨论的是在苹果Mac操作系统上使用的Eclipse集成开发环境(IDE)中的反编译插件解决方案。 首先,我们要了解什么是反编译。反编译是将已编译的字节码(如Java的.class...
本文主要介绍了在银河麒麟系统V4上编译安装Qt5.12的过程,涵盖了从下载Qt源码到安装 Qt的整个过程。 一、下载Qt源码 Qt源码可以从官方网站下载,笔者经常使用Qt5.9和Qt5.12两个大版本。本文将下载Qt5.12.7版本。 ...
1. **环境准备**:确保你是在Ubuntu 16.04环境下,该系统基于Debian,支持大多数开源软件的安装。你需要安装一些基本的开发工具,如`build-essential`,`cmake`,`libssl-dev`,`zlib1g-dev`,`libncurses5-dev`等,...
本教程将详细讲解如何下载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”提供...记得在安装过程中遵循最佳实践,确保系统的安全性和稳定性。
本文件将介绍如何在CentOS系统上编译安装libuv库,并进行简单的测试验证。整个过程可以分为四个主要章节。 首先,工具安装环节包括了通过yum包管理器安装automake和libtool。这两个工具是编译源代码过程中必要的...
在安装依赖项之后,需要安装 `cmake` 和 `libpcre2-dev`,以便编译 FRR。然后,使用 git 克隆 FRR 的源码,并 checkout 到 v2.0.0 版本。接下来,创建一个 build 目录,并使用 cmake 生成 Makefile。最后,使用 make...
- 在Windows系统上,安装IIS组件是必要的,因为这将允许通过Web访问VMware Server。 - 安装步骤包括接受许可协议,确认安装路径,直至安装完成。安装完成后,需要使用序列号激活,具体序列号可在附录1中找到。 **...
本文将详细介绍如何在不同的操作系统环境下进行 SQLite 的交叉编译、安装以及测试过程。 首先,理解交叉编译的概念至关重要。交叉编译是指在一个平台上编译出可以在另一个平台上运行的代码。对于 SQLite,这通常...
这个"ltp-3.4.0 mac编译包"可能是作者在Mac 10.14.3上编译好的LTP版本,对于不想从头编译的人来说,可以直接下载并尝试运行。然而,由于每个系统的具体环境差异,使用这个预编译包前最好先了解其编译和运行的条件,...