Настройка eclipse для разработки расширений PHP.

Develar

Новичок
Настройка eclipse для разработки расширений PHP.

Кто-нибудь в eclipse пишет расширения для PHP? В eclipse так как я использую его для разработки на 2 других языках - короче, интеграция наше все. Из-за этого tony2001 ;) снес windows и поставил opensuse 10.3 и решил прекратить паразитировать - изучить C.
Нужно доработать pecl svn.
1) Установил devel пакеты для subversion, создал проект путем checkout из CVS как проект С/С++
2) открыл проект. 2857 ошибок и 60 предупреждений. ошибки типа "/usr/include/_G_config.h declaration for parameter ‘_G_fpos_t’ but no such parameter" и "/usr/include/apr-1/apr_file_io.h expected declaration specifiers before ‘apr_status_t’" Я, безусловно, сейчас найду решение через пару часов, но может кто кинет ссылки и поделится опытом.
 

tony2001

TeaM PHPClub
>Кто-нибудь в eclipse пишет расширения для PHP?

нет, о таком виде извращений мне неизвестно.
 

Develar

Новичок
tony2001
о, а что такого плохого в разработке на C в этой IDE? надо использовать vim и не париться?
 

korchasa

LIMB infected
Re: Настройка eclipse для разработки расширений PHP.

Автор оригинала: Develar
...
1) Установил devel пакеты для subversion, создал проект путем checkout из CVS как проект С/С++
2) открыл проект. 2857 ошибок и 60 предупреждений. ошибки типа "/usr/include/_G_config.h declaration for parameter ‘_G_fpos_t’ but no such parameter" и "/usr/include/apr-1/apr_file_io.h expected declaration specifiers before ‘apr_status_t’" Я, безусловно, сейчас найду решение через пару часов, но может кто кинет ссылки и поделится опытом.
А какой пакет используешь? CDT?
 

tony2001

TeaM PHPClub
>о, а что такого плохого в разработке на C в этой IDE?

без понятия, я же говорю - никогда о таком не слышал.

>надо использовать vim и не париться?

как вариант.
непонятно зачем нужно какое-то IDE, которое пытается что-то неясное делать с системными хидерами и при этом еще и обламывается.
зачем оно? чтоб заранее себя в рамки этого IDE загнать?
 

phprus

Moderator
Команда форума
tony2001
непонятно зачем нужно какое-то IDE, которое пытается что-то неясное делать с системными хидерами и при этом еще и обламывается.
А давно компиляция (или их анализ для работы функции автодополнения кода) стала каким-то неясным делом с системными хидерами?

Develar
2) открыл проект. 2857 ошибок и 60 предупреждений. ошибки типа
Похоже что при открытии проекта eclipse попробовал его скомпилировать. (А модуль так просто скомпилировать не получится. он же от PHP зависит)
Посмотри на настройки компиляции в проекте.

P.S. Хотя я не уверен что eclipse своими средствами сможет правильно сгенерировать makefile для такого проекта и правильно его собрать. Надо смотреть настройки компиляции.
 

tony2001

TeaM PHPClub
>А давно компиляция (или их анализ для работы функции автодополнения кода)
>стала каким-то неясным делом с системными хидерами?

а, так это он пытался их типа просканировать и не смог?
cscope/ctags с этим прекрасно справляются.
 

StUV

Rotaredom
если нужен ide с нормальным gui + "всякие фичи" - почему не kdevelop?

-~{}~ 24.01.08 17:20:

имхо, eclipse какой-то глючный
 

Develar

Новичок
StUV
>> имхо, eclipse какой-то глючный
да, падает частенько.

ладно, всем спасибо. пока что просто напишу то, что мне нужно и скомпилирую как обычно phpize.
 

Alexandre

PHPПенсионер
если нужен ide с нормальным gui + "всякие фичи" - почему не kdevelop?
+1
хотя мне и kwrite хватает
кстати, конкретно IDE отладки под PHP в kdevelop я так и не настроил (возможно где-то туплю), по этому вся отладка ручками в dbg & valgrind.

-~{}~ 24.01.08 18:18:

StUV, может поделишься опытом - как настроить kdevelop?
что мне нужно и скомпилирую как обычно phpize.
а иначе как ты хотел скомпилировать???
 

StUV

Rotaredom
Alexandre
давно этим не занимался (уже года полтора-два), так что сорри...
 

Develar

Новичок
>> а иначе как ты хотел скомпилировать???
плагин eclipse для AS - инкрементальная компиляция скрывающая и освобождающая от компиляции ручками через командную строку. вот как с этим дело в С и какой у товарищей environment и как там варят кашу я и разбираюсь.
 

tony2001

TeaM PHPClub
не понимаю - как ты собрался разрабатывать, если редактор будет от тебя что-то скрывать и освобождать тебя от понимания процесса?
 

Develar

Новичок
tony2001
и как всегда все равно приходиться отказываться от такого помощника и разбираться. это я понимаю. У вас автоматическая сборка или вы руками после внесения изменения запускаете что-то типа "phpize && ./configure && make install && php-fpm restart"
 

tony2001

TeaM PHPClub
"у вас" - это у кого?

phpize и configure надо делать только если поменялся config.m4
make - если изменился исходник.

make install я практически не пользуюсь - девелоперские версии ставить на рабочую систему не за чем.
phpize я также не использую, т.к. имею привычку всё собирать в статику.
 

tony2001

TeaM PHPClub
чтоб собрать модуль с дебагом, мне надо собрать PHP с дебагом и сделать make install.
чтоб собрать модуль с ZTS, мне опять надо всё пересобрать с --enable-maintainer-zts и опять make install.

поэтому мне гораздо проще положить всё в ext/ и не делать make install вообще, вполне достаточно бинарника ./sapi/cli/php.

>мне казалось

обоснуй? (с)
 

Alexandre

PHPПенсионер
я высказал свое мнение, которое оказалось ошибочным ...
в общем я руководствовался следующим:
если используешь статику и щсуществляешь изменения в экстеншене, то надо пересобирать весь пхп, или я не прав?

при отладке я также использую ./sapi/cli/php
 

phprus

Moderator
Команда форума
tony2001
Про сканирование я ошибся. Eclipse если чтото не может просканировать то никак не ругается. А подобные ошибки может выдавать только gcc при попытке просто скомпилировать исходники проекта без учета того что это модуль php.

Develar
ладно, всем спасибо. пока что просто напишу то, что мне нужно и скомпилирую как обычно phpize.
Попробуй либо вообще отключить компиляцию проекта средствами eclipse или посмотри на опцию C/C++ Build -> Builder settings -> Use default build command и подобные в настройках проекта. Может быть удасться заставить eclipse собирать проект при помощи "phpize && ./configure..."
 
Сверху