Build Klayout for Windows10 64 bit with Visual Studio 2015 Comunity Edition and Qt 5.7.1

edited December 2016 in General
Dear all,
I would like to compile Klayout on my computer with Visual Studio 2015 Comunity Edition (VC++ version 14.0) and Qt version 5.7.1.
The requirements are Qt 4.8 and Visual Studio 2010 (VC++ version 10.0), but on my computer there is this tool and I don't like to downgrade it and finally I would like to contribute to improve the klayout code.
I started updating the source code:
https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5
and now I finished the modifications
Now there are a lot of errors on tlString.h, dbMatrix.h
...
1> antObject.cc
1> antPlugin.cc
1> antPropertiesPage.cc
1> antService.cc
1> antTemplate.cc
1> dbGDS2Converter.cc
1>c:\users\ingpa\documents\workspace_vs2015\klayout-0.24.9\src\tlString.h(688): error C2039: 'Exception': is not a member of 'tl'
.....
tlString.h(688):
KLAYOUT_DLL void from_string (const std::string &s, double &v) throw (tl::Exception);
...
...
1> dbMemStatistics.cc
1> dbOASIS.cc
1>c:\users\ingpa\documents\workspace_vs2015\klayout-0.24.9\src\dbMatrix.h(53): error C2039: 'DPoint': is not a member of 'db'
dbMatrix.h(53)
typedef db::DPoint displacement_type;


I build with STLPort 5.2.1,Python 3.4,Ruby 2.1.3 and I put in config.h the code
//------------------------------------------------------------------------
// Error C2338 <hash_map> is deprecated and will be REMOVED. Please use <unordered_map>.
// You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
// klayout C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\hash_map 17
//------------------------------------------------------------------------
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1

Have you got some suggestions in order to proceed with the porting?

Best regards
Paolo

Comments

  • edited January 2017

    Hi Paolo,

    Thanks for your wish to contribute. But you don't need to port. It's already done.

    KLayout 0.25 will be Qt 5 compatible. You can try the development snapshot from http://www.klayout.de/build.html. It builds with Qt 5.5.1 on my Ubuntu 16.10 LTS.

    Please note that currently there is no VC++ support and I guess I will drop that (I spent nights on getting VC++ through, so I'm kind of tired now). I'll try to go for MinGW/gcc as the build platform. That should be possible already since the Linux build script should run on MSYS too. But I have not tried yet.

    Contribution is a good point. I should basically move to GitHub for supporting this. The problem is that there are many test cases and even code pieces that represent non-public IP and I am not able to publish them. Hence a private repo. I'm not prepared for separating them off yet.

    Regards,

    Matthias

  • edited November -1
    Hi Matthias,

    seriously - you developed the best Chip Design software for my MEMS application I have ever used before. Thank you very much! I would be very happy if you are able to move to github and I understand the problem with IP. But please upload the code!

    Many greetings!
  • edited November -1
  • edited February 2017

    You're welcome :-)

    I shall add that I am able to build on Windows 7 using MSYS2 and the mingw 64bit gcc toolchain with Qt 5.5, Python 3.5 and Ruby 2.4. That's not VC++, but at least it's finally a native Windows executable. MSYS2 has received a lot of attention and is well supported so I assume that will enable usage of a lot of native Python and Ruby packages.

    Regards,

    Matthias

  • edited November -1
    Hi Mathias,
    Thanks again - is this the official Github Repository - I would like to share my Python code for automated MaskFrames and Automated Alignment Marks?! What do you think about pull request on Github?

    Many Greetings!
  • edited November -1

    Hi,

    That's the core application code there. No scripts please. You can create your own repo and share your code there.

    Eventually I'd like to start maintaining a Wiki page there linking to the related projects.

    Regards,

    Matthias

  • edited February 2017

    marmei,

    You could add it to TRT or E4K if you like, depending on which is the better fit. I need to move those to Github too at some point...

    David

  • edited November -1
    Hello,

    to marmei: did you managed to post your script for automated mask frame and alignement?
    i may be inetrested to see how it works.

    Regards
    Joël
Sign In or Register to comment.