{"action":"created","issue":{"url":"https://api.github.com/repos/SebastianNiemann/Mantella/issues/55","labels_url":"https://api.github.com/repos/SebastianNiemann/Mantella/issues/55/labels{/name}","comments_url":"https://api.github.com/repos/SebastianNiemann/Mantella/issues/55/comments","events_url":"https://api.github.com/repos/SebastianNiemann/Mantella/issues/55/events","html_url":"https://github.com/SebastianNiemann/Mantella/issues/55","id":112083376,"number":55,"title":"Installation under Windows (using Visual Studio)","user":{"login":"SebastianNiemann","id":5516578,"avatar_url":"https://avatars.githubusercontent.com/u/5516578?v=3","gravatar_id":"","url":"https://api.github.com/users/SebastianNiemann","html_url":"https://github.com/SebastianNiemann","followers_url":"https://api.github.com/users/SebastianNiemann/followers","following_url":"https://api.github.com/users/SebastianNiemann/following{/other_user}","gists_url":"https://api.github.com/users/SebastianNiemann/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastianNiemann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastianNiemann/subscriptions","organizations_url":"https://api.github.com/users/SebastianNiemann/orgs","repos_url":"https://api.github.com/users/SebastianNiemann/repos","events_url":"https://api.github.com/users/SebastianNiemann/events{/privacy}","received_events_url":"https://api.github.com/users/SebastianNiemann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"wlfbck","id":1621804,"avatar_url":"https://avatars.githubusercontent.com/u/1621804?v=3","gravatar_id":"","url":"https://api.github.com/users/wlfbck","html_url":"https://github.com/wlfbck","followers_url":"https://api.github.com/users/wlfbck/followers","following_url":"https://api.github.com/users/wlfbck/following{/other_user}","gists_url":"https://api.github.com/users/wlfbck/gists{/gist_id}","starred_url":"https://api.github.com/users/wlfbck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wlfbck/subscriptions","organizations_url":"https://api.github.com/users/wlfbck/orgs","repos_url":"https://api.github.com/users/wlfbck/repos","events_url":"https://api.github.com/users/wlfbck/events{/privacy}","received_events_url":"https://api.github.com/users/wlfbck/received_events","type":"User","site_admin":false},"milestone":null,"comments":21,"created_at":"2015-10-19T06:53:53Z","updated_at":"2015-12-07T08:14:59Z","closed_at":null,"body":"I received an email regarding some issues while installing Mantella under Windows, suggesting C++11 incompatibilities by Visual Studio. As I haven't any details at hand, we could get a Visual Studio licence to investigate on this ourself.\r\n\r\nVisual Studio 2015 seems to be the first VS version being compatible with enough C++11 features to compile Mantella (https://msdn.microsoft.com/de-de/library/hh567368.aspx), so we should start with this one."},"comment":{"url":"https://api.github.com/repos/SebastianNiemann/Mantella/issues/comments/162445169","html_url":"https://github.com/SebastianNiemann/Mantella/issues/55#issuecomment-162445169","issue_url":"https://api.github.com/repos/SebastianNiemann/Mantella/issues/55","id":162445169,"user":{"login":"SebastianNiemann","id":5516578,"avatar_url":"https://avatars.githubusercontent.com/u/5516578?v=3","gravatar_id":"","url":"https://api.github.com/users/SebastianNiemann","html_url":"https://github.com/SebastianNiemann","followers_url":"https://api.github.com/users/SebastianNiemann/followers","following_url":"https://api.github.com/users/SebastianNiemann/following{/other_user}","gists_url":"https://api.github.com/users/SebastianNiemann/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastianNiemann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastianNiemann/subscriptions","organizations_url":"https://api.github.com/users/SebastianNiemann/orgs","repos_url":"https://api.github.com/users/SebastianNiemann/repos","events_url":"https://api.github.com/users/SebastianNiemann/events{/privacy}","received_events_url":"https://api.github.com/users/SebastianNiemann/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T08:14:59Z","updated_at":"2015-12-07T08:14:59Z","body":"If have just experimented with different MinGW providers (especially 64 bit variants) and the only one to be working with OpenBLAS seems to be MinGW-w64.\r\n\r\nDuring the installation, the following configuration should work (the *Architecture* and *Exception* setting is mandatory).\r\n- Version: latest\r\n- Architecture: x86_64\r\n- Threads: win32\r\n- Exception: seh\r\n- Build revision: 1\r\n\r\nTo summarise everything, this is the current installation instruction for Visual Studio / Windows builds:\r\n\r\nThe following steps are written for 64-bit systems (tested). If you want to work with a 32-bit version, it should be sufficient to replace OpenBLAS and MinGW with their 32-bit counterpart and choose \"Visual Studio 14 2015\" as generator at step 6.3. It is also possible to use any other BLAS/LAPACK library beside OpenBLAS.\r\n\r\nCompiling Mantella:\r\n1. Install Visual Studio 2015 Community (or better)\r\n2. Install CMake (at least version 2.8.2)\r\n3. Download the latest version of Armadillo (http://arma.sourceforge.net/download.html) and copy its contents into `C:\\Armadillo`\r\n  - Activate/uncomment `ARMA_USE_CXX11` in `C:\\Armadillo\\include\\armadillo_bits\\config.hpp`\r\n  - Deactivate/outcomment `ARMA_USE_WRAPPER` in `C:\\Armadillo\\include\\armadillo_bits\\config.hpp`\r\n4. Download the precompiled **64-bit** OpenBLAS binary package (http://www.openblas.net/,  `OpenBLAS-vX.X.XX-Win64-int32`) and copy its contents into `C:\\OpenBLAS`\r\n5. Download Mantella and copy its contents into `C:\\Mantella`\r\n6. Open the console (`cmd`) and proceed with the following commands:\r\n  1. `mkdir C:\\Mantella\\build`\r\n  2. `cd C:\\Mantella\\build`\r\n  3. `cmake -DCMAKE_PREFIX_PATH=C:\\Armadillo\\include;C:\\OpenBLAS -G \"Visual Studio 14 2015 Win64\" ..`\r\n  4. `cmake --build . --config Release`\r\nYou should now find a Mantella library file under `C:\\Mantella\\lib\\Release\\mantella.dll`\r\n\r\nInclude Mantella to a new or existing Visual Studio project:\r\n1. Right-click the project and select *Properties*\r\n2. Go to *VC++ Directories*\r\n  1. Add under *Include Directories*\r\n    - C:\\Armadillo\\include\r\n    - C:\\Mantella\\include\r\n  2. Add under *Library Directories*\r\n    - C:\\OpenBLAS\\lib\r\n    - C:\\Mantella\\lib\\Release\r\n3. Go to *Linker* -> *Input*  and add under *Additional Dependencies* **(in this order)**\r\n  - libopenblas.dll.a\r\n  - mantella.lib\r\n4. Add some code and compile the project.\r\nYou should now have an executable file (`*.exe`).\r\n\r\nRunning your executable:\r\n1. Install MinGW-w64  into `C:\\MinGW-w64` (OpenBLAS depends on this. You can skip this, if your BLAS/LAPCK library does not depend on MinGW)\r\n  - Version: latest\r\n  - Architecture: x86_64\r\n  - Threads: win32\r\n  - Exception: seh\r\n  - Build revision: 1\r\n2. Choose either of the following options:\r\n  - Add the following locations to your system path (PATH).\r\n    - `C:\\OpenBLAS\\bin`\r\n    - `C:\\mingw-w64\\mingw64\\bin`\r\n  - Copy the following libraries into same location as your executable\r\n    - `C:\\OpenBLAS\\bin\\libopenblas.dll`\r\n    - `C:\\OpenBLAS\\bin\\libgcc_s_seh-1.dll`\r\n    - `C:\\OpenBLAS\\bin\\libgfortran-3.dll`\r\n    - `C:\\OpenBLAS\\bin\\libquadmath-0.dll`\r\n3. Run your executable\r\n\r\n\r\n@wlfbck Could you check these instructions on your system again?"}}