我正在编译 PHP-CPP 源代码,但在 Windows 7 中出现错误。但是,在 Linux (对于 .so 扩展名)它工作正常。编译器给出的错误是: collect2.exe [错误] ld 返回 1 退出状态
注意:我直接使用PHP-CPP而不是PHP源代码...
Error: mkdir -p shared/common 命令语法不正确。 Makefile:190: 目标“shared_directories”的配方失败 mingw32-make: *** [shared_directories] 错误 1
因此,您正在 cmd.exe 托管环境中使用 MinGW (mingw32-make); cmd.exe 的 mkdir (md) 命令不提供 -p 选项,据我所知。 您的 makefile 似乎需要 POSIX shell 托管环境,因此您可能会更幸运(例如 MinGW.org 的 MSYS 或 Cygwin 提供的 bash shell)。
你必须下载最新版本的 phpcpp - 然后使用 cmake 进行构建(只需使用 Windows 的 cmake gui) - 在这里为构建设置以下条目很重要:
PHPCPP_ARCH 带有“x86_64”和 PHPCPP_PHP_PATH 到 php 源的根目录所在的路径...
如果你想构建静态库 - 设置这个:
PHPCPP_MSVCRT_STATIC
如果您想要动态构建,请不要设置此条目...
现在只需点击“配置” - 完成后只需点击“生成”..
如果一切正常,您现在可以单击“打开项目”,通常 Visual Studio 将加载编译所需的数据...
现在只需编译即可使用 .lib / .dll 进行进一步的实现...
您还可以在 github 上获取 .lib 文件,用于在 Windows 下编译 php-cpp:
https://github.com/subabrain/phpcpp_win/releases/tag/phpcpp_win