Windows 64bit

I have been trying to compile Graphviz (2.38.0) for 64-bit Windows using Visual Studio. The reason is that I want to link cgraph.lib etc directly to a c++ program we are developing. Is there source code for a working 64-bit version? Or else a set of static 64-bit libraries would even be better. Regards, C. Wolters

mingw64 version should be fine

Hi,

cgraph probably offers a C API, so it shouldn't matter if it is compiled with MSVC or MINGW GCC. Should it be the case, you would need to rename libcgraph.a into cgraph.lib and link with it. I did similar things with other libraries only provided through mingw gcc but offering pure C interface, and they worked fine.

Cheers.

no solution, but some comments on MVSC and Windows64

The code is 64 bit clean, so no source code changes should be needed.

Despite raising our hopes, current versions of Microsoft Visual Studio are
unable to load and migrate our old project files, so it appears we need to
create a new project file (or files). 

Most of the people that used to work on Graphviz at AT&T, including our
Windows expert, are now working at other places, so probably a friendly
outsider will need to volunteer to do the job.

Emden seemed to know more than John Ellson or me about how the
Windows execuable is supposed to build. (I guess we configure the
full dynamic plugin mechanism on Windows, as the windows version
of libtdl seemed to come up.)

I wonder if it would help to start with a mingw or msys 64 bit build to
sort out the pieces that are needed and the compile-time configuration,
then move over to Visual Studio to finish the job.

Sorry for the troubles, wish we could offer more help.

Stephen North

 

Could you give more details?

Hi,

could you give more details?

1) what are the old versions of visual studio that used to work?

2) what are the new versions of visual studio that refuses migration?

3) Appveyor: do you plan to use it to build a binary version as a downloadable artefact?

Cheers.

Re: Could you give more details?

1) Worked OK in Visual Studio 2003 and I think up to VS 2008.

2) Stopped working in later versions that attempt to automatically upgrade the project files,
which is VS 2010, 2013, Visual Studio Express (though I can't tell if we can even use the
no-cost versions to generate 64 bit executables).  

3) Yes, we wish to use Appveyor to generate Windows executables and libraries for anyone to download and install.

Stephen North

win64 notes

Hello,

recently i needed few libraries from graphviz, but in static flavour and with msvc.

short version: it's doable, but it's quite painful.

longer version:
there are solution/projects files for msvc2008. now that is pretty prehistoric by these days, but my msvc2013 can convert the solutions. it makes some weird noises during conversion, but it does not explode :)
so you need:
1) convert the solution
2) then you need to add x64 platform
3) now it's time to select the project you need. for me it's cdt as it's precursor for cgraph
so select cdt and alt+enter
4) modify preprocessor definitions.
you have to kick out all DLL related ones (_DLL _EXPORTS etc), so mine looks like this now (on Release):
WIN32
WIN32_STATIC
NDEBUG
_WINDOWS
_BLD_cdt
5) modify Configuration type from dll to static library
6) modify Target extension (.dll to .lib)
7) repeat for all projects you need

well you get the general idea how to do it by now :)

footnote:
what graphviz really needs is cmake.. for example today i needed zlib and expat. both have cmake and to build 64bit version was easy as 3.14159 and in 5 minutes each (max).

Recent comments