1

WindowsでPHP-CPPを使用してPHPの拡張機能を開発しようとしています。PHP-CPP の .a と .so を MingW でビルドしましたが、拡張機能をビルドすると、コンパイラは phpcpp.h を見つけられませんでした。
私のファイル Makefile:

NAME                    =   Teste
INI_DIR             =   /etc/php5/conf.d
EXTENSION_DIR           =   $(shell php-config --extension-dir)
EXTENSION           =   ${NAME}.so
INI                     =   ${NAME}.ini
COMPILER                =   g++
LINKER              =   g++
COMPILER_FLAGS      =   -Wall -c -O2 -std=c++11 -fpic -o
LINKER_FLAGS            =   -shared
LINKER_DEPENDENCIES =   -lphpcpp
RM                  =   rm -f
CP                  =   cp -f
MKDIR                   =   mkdir -p
SOURCES             =   $(wildcard *.cpp)
OBJECTS             =   $(SOURCES:%.cpp=%.o)
all:                    ${OBJECTS} ${EXTENSION}
${EXTENSION}:           ${OBJECTS}
                ${LINKER} ${LINKER_FLAGS} -o $@ ${OBJECTS}         
${LINKER_DEPENDENCIES}
${OBJECTS}:
                ${COMPILER} ${COMPILER_FLAGS} $@ ${@:%.o=%.cpp}
install:        
                ${CP} ${EXTENSION} ${EXTENSION_DIR}
                ${CP} ${INI} ${INI_DIR}
clean:
                ${RM} ${EXTENSION} ${OBJECTS}


フォルダ構成:
main.cpp
Makefile
phpcpp.a
phpcpp.so

英語が下手ですみません。

4

2 に答える 2

0

cmake / cmake gui を使用してビジュアル スタジオ プロジェクトの生成を試みることができます。「PHP-CPP」ディレクトリのルート フォルダに「CMakeLists.txt」があります。

これで、msvc でコンパイルできます...ただし、c と c++ のコードが混在していることに注意してください - いくつかの .c ヘッダーが含まれています - おそらく、いくつかのコンパイラ オプションを編集する必要があります ...

于 2021-10-07T07:22:44.533 に答える