ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> php-dev
php-dev
[PHP-DEV] Windows build
by Hector Santos other posts by this author
May 10 2008 9:44PM messages near this date
Re: [PHP-DEV] Extension_Dir: Proposal to offer multi-directory DLLloading | #44953 [NEW]: Variable variables dont work in foreach
(Elizabeth, this is a public follow up to the previous message (shown 
below))

Of course, I must not be doing something right, but I was finally able 
to compile and successful link by:

1) Adding pcrec_newline.c to the project PCRE source group #3

2) Adding a #include "config.h" to pcre_internal.h
    to resolve the LINK_SIZE define

3) Adding tokenizer_data.c to the project XML source group #4

4) Changing the link lib "libxml2_a.lib" to libxml2_a_dll.lib which 
probably means libxml2.dll will be used with php5ts.dll

5) And to resolve the _ftol2 link libxml2 error, add the following chunk 
to ext\dom\xpath.c:

// HLS, only for MSDEV 6.0
#if (_MSC_VER == 1200)
extern long _ftol( double ); //defined by VC6 C libs
extern long _ftol2( double dblSource ) { return _ftol(dblSource ); }
#endif

6) I also had to alter the INCLUDE paths for some of the projects where 
it was using a ..\..\FOLDER entry to ..\FOLDER.   I often find this to 
be a common issue with DSP projects under the vs 6.0 IDE because of the 
stock File OPEN/SAVE dialog not restoring the original directory.  When 
include references are adding, the programmer needs to make sure the 
proper project ROOT folder is set when the project is saved so that it 
can create and establish the proper persistent paths. IOW, when you add 
a file to a project source folder and you had to switch directories, the 
IDE is implementing OPEN/SAVE dialog to remember this location and this 
can alter how include file are found when using relatives INCLUDE paths.

Anyway, not sure if any of the above is note worthy but if I am going to 
be doing more PHP work, maybe I can contribute by providing a 
"no-hassle" windows build.

-- 
Hector Santos


Elizabeth M Smith wrote:

> > Great! Got two positives on this, so I'll work on this.  Now, if I can
> > only figure out the Windows Build.  What a mess!!  :-)
> >
>  Actually building for windows is easy - it's the dependencies that are
>  hard ;)  check out the wiki for build help

Yes, I had to go get else where libxml, iconv, and soemthing else (I
think it was bindlib_win32).  I wasn't quite sure if the instructions
assumed cygwin makefile prepareness or the VS *.DSP/DSW files were
independent of this.  Various projects had conflicting include and lib
paths.

But after working all that out, I am at this final linkage error where I
am don't know what else I can I can do beyond the changes already done
to the project build, and searching/collecting all the other dependencies.

linking...
    Creating library ..\Release_TS/php5ts.lib and object
..\Release_TS/php5ts.exp
LINK : warning LNK4049: locally defined symbol "_php_dom_create_object"
imported
pcre_compile.obj : error LNK2001: unresolved external symbol
__pcre_is_newline
pcre_exec.obj : error LNK2001: unresolved external symbol __pcre_is_newline
pcre_exec.obj : error LNK2001: unresolved external symbol __pcre_was_newline
tokenizer.obj : error LNK2001: unresolved external symbol
_tokenizer_register_constants
tokenizer.obj : error LNK2001: unresolved external symbol
_get_token_type_name
spl_iterators.obj : error LNK2001: unresolved external symbol _php_pcre_exec
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_exec
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_version
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_study
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_compile
php_pcre.obj : error LNK2001: unresolved external symbol
_php_pcre_maketables
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_info
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_free
php_pcre.obj : error LNK2001: unresolved external symbol
_php_pcre_get_substring_list
php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_fullinfo
libxml.obj : error LNK2001: unresolved external symbol _xmlDllMain
libxml2_a.lib(xpath.obj) : error LNK2001: unresolved external symbol __ftol2
libxml2_a.lib(xmlschemastypes.obj) : error LNK2001: unresolved external
symbol __ftol2
libxml2_a.lib(xpointer.obj) : error LNK2001: unresolved external symbol
__ftol2
..\Release_TS\php5ts.dll : fatal error LNK1120: 15 unresolved externals
Error executing link.exe.

php5ts.dll - 20 error(s), 1 warning(s)

pcrec_newline.c is not included int the project PREC source listing.
Adding it gives me a compiler error about LINK_SIZE not being set.

Adding this file to the project, adding #include "config.h" to it, gets
past this link resolution, but now it seems that I am going beyond what
was expected in the project build setup/provided for a successful build

I must not be doing something right.

-- 
Hector Santos


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
Thread:
Hector Santos
Hector Santos
Stanislav Malyshev
Hector Santos
Stanislav Malyshev
Hector Santos
Stanislav Malyshev
Sean Finney
Hector Santos
Lars Strojny
Hector Santos
Hector Santos
Elizabeth M Smith
Hector Santos

Privacy Policy | Email Opt-out | Feedback | Syndication
© 2004 ActiveState, a division of Sophos All rights reserved