码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-10-26 01:57:29      阅读:358      评论:0      收藏:0      [点我收藏+]

标签:

一 概述:

       本文说述的是在苹果机器上搭建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


   到此全部设置完成:)






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

标签:

原文地址:http://my.oschina.net/daoren/blog/521904

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!