QT Creator 加 apxs 搭建Apache模块开发环境

一 概述:

本文说述的是在苹果机器上搭建Apache模块开发环境的方法,选用的IDE是QT Creator。实质上,我最开初是选用CodeBlocks进行搭建,并且搭建成功了。但CodeBlocks当前的13.12版本在Mac的机器上很不稳定(其官网就特别地说明过不一点)。我使用时发现其启动较慢,运行过程中老是闪退等问题,于是才改用QT Creator。这里要声明的是,我在Windows及Linux上使用CodeBlocks,其表现很稳定,功能也是很强的,所以我才第一个选他。本文并不会涉及Apache的安装及其开发工具的安装。因为Mac系统本身已经自带了Apache及其开发工具。如果有朋友想CodeBlocks搭建Apache模块开发环境,可以在这里留个言。

二 需求描述

* (Mac)OS X Yosemite 版本 10.10.2

系统自带Apache版本: Server version: Apache/2.4.9 (Unix)

*   Qt Creator 3.5.1 (opensource)

http://www.qt.io/download/

* Xcode Version 6.4 (6E35b)

这个是在“App Store”下载的。

核心需求就是,搭建一个Apache模块开发的IDE.

三 实现方法

3.1 apxs创建目标工程

apxs是Apache开发的重要工具,可用来自动生成基本的工程。因为系统已经自带了该工具,所以我们可以直接在终端调用如下命令:

apxs -n HelloApache -g

-n 用于指定工程名,“HelloApache”就是具体的工程名

-g 用来生成工程所需的最基本的文件。

命令执行完毕后,会在当前目录生成一个名为“HelloApache”的子目录。其内容是一个Apache版的HelloWorld工程。请cd进入HelloApache子目录,并执行命令:

make

如果,默认的配置正确make命令会顺利地把模块编译出来。可惜的是我的默认设置并不正确:)

首先报错,有工具找不到,于是用find命令找这些工具:

find / -name "***"

"***"代表工具文件名。结果发现默认生成的Makefile中,如下路径变量设置有问题:

top_builddir=/usr

在我的系统中正确的设置应该是:

top_builddir=/usr/share/httpd

编译报错,找不到httpd.h/apr.h等文件。

我的解决方法是,缺什么文件就用find命令找什么文件:

find / -name "***.h"

结果发现默认生成的Makefile中,Include的头文件目录不是很全,所以我补上了如下的目录

p, li { white-space: pre-wrap; }
ADD_INCLUDE=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include

INCLUDES=-I$(ADD_INCLUDE)/apache2 -I$(ADD_INCLUDE)/apr-1 -I$(ADD_INCLUDE)

最后是默认的环境中也有问题:

可能是因为我的Xcode升级了,C语言编译器的路径有所变化原来是:

/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/cc

变成了现在的:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc

需要用如下命令查找:

cd /usr/share
grep -r "/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/" *

把查出来的内容都改成现在的路径。

3.2 QT Creator中的设置

QT Creator的安装很简单不冗述。下面用截图的方式说明如何导入当前已经生成的HelloApache

第一:

第二:

第三:

第四:

第五:

上面五步后,一路确定即可完成导入。要注意第三步中的路径要是已经存的HelloApache的路径。下面是导入成功后的工程结构截图:

其中Makefile及modules.mk是我手动加入的(主要是为了后面修改方使)。现你已经可以成功编译代码了。但如果你这里修修代码会发现,代码补全及代码跳转功能不能正常使用。这主要是没有设置HelloApache.includes文件的原因。HelloApache.includes中设置的include路径并不影响编译,但会影响代码补全及代码跳转。所以要把Makefile中的全部include路径都写进HelloApache.includes文件中去,我的机器上,本文件内容如下:

.
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/apache2
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/apr-1
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include

到此全部设置完成:)

时间: 2024-10-11 06:11:07

QT Creator 加 apxs 搭建Apache模块开发环境的相关文章

Apache模块开发

一.简介 Apache HTTP服务器是一个模块化的软件,使管理者可以选择核心中包含的模块以裁剪功能.可以在编译时选择被静态包含进httpd二进制映象的模块,也可以编译成独立于主httpd二进制映象的动态共享对象DSO,DSO模块可以在编译服务器之后编译,也可以用Apache扩展工具(apxs)编译并增加. Apache模块开发主要采用挂钩子的方法来实现模块开发的,这和linux内核模块开发有点像,说白了就是加一个回调函数. 二.安装Apache的apxs apxs是一个为Apache HTTP

服务器架设笔记——Apache模块开发基础知识

通过上节的例子,我们发现Apache插件开发的一个门槛便是学习它自成体系的一套API.虽然Apache的官网上有对这些API的详细介绍,但是空拿着一些零散的说明书,是很难快速建立起一套可以运行的系统.(转载请指明出于breaksoftware的csdn博客) 为了实现最基础的URL解析等功能,我把<Apache模块开发指南>一书粗略了翻看了两遍,以利于迅速了解Apache模块编程的相关知识.至于书中具体的知识点,我并不在此赘述.但是为了便于大家了解之后遇到的各种相关的知识点,我大致罗列几条(摘

使用apxs安装apache模块

使用apxs安装apache模块                 ---by石锅拌饭 1.缘由 前几天迁移系统,发现配置了fastcgi的一个脚本下载文件总是提示类似Connection reset by peer:FastCGI错误,后来发现应该是下载文件时间超过了fastcgi指定的idle-timeout导致的,这个时间默认是30秒,文件太大就容易超时.为了解决这个问题,于是把下载文件的cgi脚本运行环境配置成cgi. 然而,坑爹的是,apache2.4.7已经默认采用mod_cgid模块

Apache Cordova开发环境搭建(一)-Visual Studio

原文:Apache Cordova开发环境搭建(一)-Visual Studio 一.使用Visual Studio开发Apache Cordova手机App 1.版本要求,Visual Studio需求2015或2017 2.在安装的之后勾选 JavaScript应用之Apache Cordova 以及所依赖的工具就可以了. 3. Visual Studio 2015 的安装程序包括支持 Cordova 应用开发的第三方开源软件: Joyent Node.js 让 Visual Studio

阿里云CentOS7搭建Apache+PHP+MySQL环境,注意php加载mysql的方法

阿里云CentOS7搭建Apache+PHP+MySQL环境 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2017-03-24我要评论 最近要搭建一个阿里云的LMAP环境,选了CentOS7来做搭建.下面通过本文给大家分享阿里云CentOS7搭建Apache+PHP+MySQL环境,感兴趣的朋友一起看看吧 最近要搭建一个阿里云的LMAP环境,选了CentOS7来做搭建. 1.Apache Centos7默认已经安装httpd服务,只是没有启动. 如果你需要全新安装,可以yum inst

【转】windows和linux中搭建python集成开发环境IDE

http://blog.csdn.net/pipisorry/article/details/39854707 使用的系统及软件Ubuntu / windowsPython 2.7 / python 3Pycharm 2.6.3Openjdk Postgresql 9.1VirtualenvVirtualenvwrapper{开始之前,可以给系统做一下备份.如误安装了Postgresql,出现了大问题就不得不把系统给重装了} 安装python 安装python 1. Ubuntu 12.04系统

搭建Apache+MySQL+PHP环境

1.1 搭建Apache+MySQL+PHP环境 1.1.1 关于安装前的准备 配置好yum源(/etc/yum.repos.d/)目录下,不会就去寻求运维支持. httpd-2.2.29.tar.gz  //Apache的源码安装包 php-5.6.6.tar.bz2   //php的源码安装包 1.1.2 安装过程 I. 安装mysql参考1.2 II. 安装Apache服务器 步骤一.         将源码放到指定目录解压 # cd /usr/local/src # tar -zxvf

转-在Mac OS上搭建Python的开发环境

在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可能就不够了,因此我们需要重新安装python.这里有两种方案安装: 1.homebrew 1 brew install python 这个方案比较简单,如果出错的话可以给前面加sudo试试,这个安装的python可能不是最新版. 2.从官网下载安装大家可以

搭建前端的开发环境和前端开发流程总结

一.搭建前端的开发环境 1.代码编辑工具:sublime/WebStorm/HBuilder. 2.断点调试工具:Firebug. 3.版本管理工具:Git(本人建议使用git,至于原因大家可以看看相关blog),安装完成后我们就可以从github上clone一些项目. 4.代码合并和混淆工具:webpack (Webpack具有Grunt.Gulp对于静态资源自动化构建的能力,同时兼容AMD与CMD的模块加载规范). 4.开发调试工具:NodeJs.很多非常有用的工具都是基于NodeJs的,我