首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用开发Apache2模块

使用开发Apache2模块
EN

Stack Overflow用户
提问于 2014-01-20 15:40:18
回答 1查看 168关注 0票数 1

我正在开发一个Apache2模块,作为一个大型项目的子项目。源文件是(例如) module_example.c。Apache2模块是用apxs2编译的,因此:

代码语言:javascript
复制
% apxs2 -c module_example.c

我已经成功地将规则(基于ODB工作方式的模式)添加到Qt Creator .pro文件中,以查找和使用apxs2,如下所示:

代码语言:javascript
复制
APXS_FLAGS =
APXS_FILES += module_example.c

for(dir, APXS_FILES) {
  APXS_PWD_FILES += $$PWD/$${dir}
}

apxs.name = apxs2 -c ${QMAKE_FILE_IN}
apxs.input = APXS_PWD_FILES
apxs.output = ${QMAKE_FILE_BASE}.so
apxs.commands = apxs2 $$APXS_FLAGS -c ${QMAKE_FILE_IN}
apxs.depends = $$APXS_PWD_FILES
apxs.clean = module_${QMAKE_FILE_BASE}.so
QMAKE_EXTRA_COMPILERS += apxs

QtCreator正确地使用apxs2编译模块(虽然它将二进制文件保留在源目录中,而不是构建目录,这并不理想),但也尝试用GCC编译它(失败)。我如何告诉Qt使用我的“额外编译器”而不是普通的编译器?将扩展名更改为其他内容(例如,module_example.apxs)似乎不是一个选项,因为apxs2没有指定C源文件扩展名的选项。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-20 18:08:41

不是做的,而是qmake。您需要从module_example.c中删除SOURCES。问题在于您没有显示的.pro文件的部分。

如果希望轻松地从Qt访问该文件,请将其添加到OTHER_FILES中。它将显示在IDE中的项目结构中,但默认情况下不会编译。

另外,您应该告诉apxs将输出到构建路径。你需要${OUT_PWD}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21238093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档