Opened 13 years ago
Closed 13 years ago
#3300 closed Bugs (fixed)
GraphML reader does not build on Windows with VC without modifying Jamfile
Reported by: | Katie Chan | Owned by: | Andrew Sutton |
---|---|---|---|
Milestone: | Boost 1.40.0 | Component: | graph |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
To enable GraphML support requires Expat, with EXPAT_INCLUDE & EXPAT_LIBPATH set during building. However, even when that is the case, building does not complete cleanly because at present the Jamfile does not list the right name for the expat library for (at least) Windows+VC.
Currently,
<find-shared-library>expat
whereas the library on Windows with VC is variation of libexpat(w/MT).
I believe it is also required to add <define>XML_STATIC before it would build cleanly.
Change History (5)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Looking at the configuration for Unix, it appears that the dynamic library is used there. I do not know about ASCII vs. Unicode; which library versions do Boost libraries use by default?
comment:3 by , 13 years ago
The question is what is best for Windows users. On Linux, shared expat is likely in /usr/lib so is painless. On Windows, one might need to add directories to PATH, or something. So, I am leaning towards static.
As for Unicode - unless Boost.Graph wishes to pass wchar_t to expat, we should use ascii version.
comment:4 by , 13 years ago
OK. We can use the ASCII version; is a shared library ever required on Windows (for threads or such)? Otherwise, I am fine with just using the static library.
comment:5 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [58035]) Rewrote GraphML parser to use Boost.PropertyTree; fixes #3300
I have looked at official expat package for Windows. It appears to contain these:
Now, I believe graph needs ascii version. Shall we use static or dynamic build by default? Static seems a little bit safer.