(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