ide - 用于 PHP 扩展开发的 CLion?
问题描述
我正在开发一个 PHP 扩展。我选择使用 CLion,因为我熟悉 IntelliJ,但似乎 CLion 不支持由phpize
. 是否有任何解决方法可以让 CLion 识别 phpize 宏?
或者谁能推荐一个更好地支持 PHP 扩展开发的 IDE?
解决方案
我们不能使用 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
推荐阅读
- python - ValueError:无法将非矩形 Python 序列转换为张量
- linq - Sitecore 自定义索引 - WARN 无法映射索引文档(字段:_uniqueid
- tensorflow - Keras - 我应该如何指定我的训练数据的 input_shape?(数据为灰度图像)
- python - 如何在此列表理解中不重复?
- regex - 允许字母数字字符和最多一个空格
- java - Intellij 无法编译项目。错误资源编译器
- javascript - 如何在spring boot项目中加载pdf.worker.js
- android - Flutter中的Opengl上下文
- c++ - 如果派生类只包含自动变量成员,是否需要虚拟析构函数?
- python - 如何在python中对深度嵌套字典中的所有列表进行排序?