【发布时间】:2019-01-13 05:24:34
【问题描述】:
我正在开发一个 PHP 扩展。我选择使用 CLion,因为我熟悉 IntelliJ,但似乎 CLion 不支持由 phpize 生成的 Makefile。有没有办法让 CLion 识别 phpize 宏?
或者谁能推荐一个更好地支持 PHP 扩展开发的 IDE?
【问题讨论】:
标签: ide php-extension
我正在开发一个 PHP 扩展。我选择使用 CLion,因为我熟悉 IntelliJ,但似乎 CLion 不支持由 phpize 生成的 Makefile。有没有办法让 CLion 识别 phpize 宏?
或者谁能推荐一个更好地支持 PHP 扩展开发的 IDE?
【问题讨论】:
标签: ide php-extension
我们不能使用cmake来构建,但是我们可以配置CMakeList.txt让php扩展在CLion中工作;
使用execute_process 从php-config 获取正确的包含目录。
execute_process (
COMMAND php-config --include-dir
OUTPUT_VARIABLE PHP_SOURCE
)
string(REGEX REPLACE "\n$" "" PHP_SOURCE "${PHP_SOURCE}")
message("Using source directory: ${PHP_SOURCE}")
include_directories(${PHP_SOURCE})
include_directories(${PHP_SOURCE}/main)
include_directories(${PHP_SOURCE}/Zend)
include_directories(${PHP_SOURCE}/TSRM)
include_directories(${PROJECT_SOURCE_DIR})
为configure添加自定义目标
add_custom_target(configure
COMMAND phpize && ./configure
DEPENDS ${SOURCE_FILES}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
使用源文件添加一个虚拟库
add_library(___ EXCLUDE_FROM_ALL ${SOURCE_FILES})
查看以下文章,了解在 CLion 中构建和调试 PHP 扩展的完整设置。
https://dev.to/jasny/developing-a-php-extension-in-clion-3oo1
【讨论】:
CLion 2020.2 附带 Makefile 支持。根据我的经验,它工作得很好,但不如直接支持 CMake 的项目好。至少现在还没有!
【讨论】: