2 неразрешенных внешних интерфейса

#php #c #windows #visual-studio-2008 #php-extension

#php #c #Windows #visual-studio-2008 #php-расширение

Вопрос:

Я пытаюсь скомпилировать проект расширения hello World php и получаю 2 ошибки о неразрешенных внешних файлах. Я не уверен, как устранить это, может кто-нибудь сказать мне, в чем может быть проблема?

файл проекта здесь, и вы также можете увидеть код в этом сообщении

 1>CustomExt.obj : error LNK2019: unresolved external symbol __imp___estrndup referenced in function "void __cdecl zif_DoubleUp(int,struct _zval_struct *,struct _zval_struct * *,struct _zval_struct *,int,void * * *)" (?zif_DoubleUp@@YAXHPAU_zval_struct@@PAPAU1@0HPAPAPAX@Z)
1>CustomExt.obj : error LNK2019: unresolved external symbol __imp__zend_parse_parameters referenced in function "void __cdecl zif_DoubleUp(int,struct _zval_struct *,struct _zval_struct * *,struct _zval_struct *,int,void * * *)" (?zif_DoubleUp@@YAXHPAU_zval_struct@@PAPAU1@0HPAPAPAX@Z)
  

Комментарии:

1. Это означает, что какой-то заголовочный файл отсутствует.

2. Я бы больше склонялся к отсутствию библиотек / объектных файлов. Эта ошибка возникает во время фазы соединения, не так ли?

3. Конечно. Может быть, этого php5ts.lib там нет?

4. @Jitamaro: Поскольку я не специалист по PHP, если понятия не имею, где находятся estrndup() и zend_parse_parameters() .

5. У меня была такая же проблема в моем проекте, но я мог бы ее решить. Что такое файл .lib в Windows в любом случае?

Ответ №1:

Определите, в каком файле *.lib или .o находятся estrndup() и zend_parse_parameters() , и сообщите компоновщику добавить такой файл (ы) на этапе компоновки.