Code Monkey home page Code Monkey logo

Comments (7)

rohan-sawhney avatar rohan-sawhney commented on August 16, 2024

Linking against BLAS on windows is a bit of a pain, but I remember using this Win64 version of OpenBlas: https://sourceforge.net/projects/openblas/files/v0.2.19/

In particular, I included the libopenblas.dll.a static library in my visual studio project. I'll document the windows build process properly in the next release.

from boundary-first-flattening.

JinfanYang avatar JinfanYang commented on August 16, 2024

Hi, I tried to compile the project with Win64. When I started to run it, I got the error:

The code execution cannot proceed because nanogui.dll was not found.

Then I copied the nanogui.dll under the binaries\windows to my build directory, but I got the error:

The application was unable to start correctly (0xc000007b).

Is this because I builded it with Win64? I compiled with Win32 before and it worked with no problem.

from boundary-first-flattening.

rohan-sawhney avatar rohan-sawhney commented on August 16, 2024

@JinfanYang I'm not really sure, I haven't tried compiling with Win64. Let me know if you are able to figure it out!

from boundary-first-flattening.

allo- avatar allo- commented on August 16, 2024

I think you can link nanogui statically. When I have the time to work on it again I will try to document the windows build and possibly improve on the CMake files if neccessary.

from boundary-first-flattening.

rreitbauer avatar rreitbauer commented on August 16, 2024

Hello, first of, really nice project, the windows binary works great. But now I'd like to dig deeper and built it on my machine (windows) to experiment a little bit. I would probably not even need the ui later on, but I think it is a good starting point to run the whole program.

I have tried to build it under windows in 32 and 64bit with VisualStudio 2017 and CMake 3.13.2

  • 64bit windows: after building suitesparse, adding filepaths to the path environment, adding libopenblas.dll.a (from openBlas in the second comment) it was compiling, but upon running I encountered the same issue as JinfanYang (which could be a 32bit/64 bit mismatch?)
  • 32bit windows: here suitesparse I get a warning about "A library with LAPACK API not found."
    for 64bit i used HUNTER_ENABLED as mentioned in the suitesparse-metis-for-windows github, so it is available, but under 32 bit "[hunter ** FATAL ERROR **] Broken package: LAPACK on MSVC is only available on WIN64"
    if I ignore this, generate suitesparse, and do the same as with the 64bit version, I end up with LINK errors

I am also not sure what you mean with "On Windows, create a Visual Studio project with Cmake after running the first three instructions." I built it with cmake-gui and then later opened the generated bff.sln with VS2017.

I think the problems stem from LAPACK on my machine but it is a little bit overwhelming for me.
I'd really like to try out the flattening with some of my own meshes that currently can't be loaded (ply format with vertex colors).

Sorry I a beginner when it comes to compiling C++ libraries under windows etc, so my question is, maybe you would be so kind as to provide a more complete (as in starting from zero) step by step guide on how to build it / run it on Windows under VS2017.

32bit LINK errors in VS2017:

Error LNK1120	3 unresolved externals	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\Debug\bff.exe	1
Error	LNK2019	unresolved external symbol _cblas_daxpy referenced in function "void __cdecl add(double,struct cholmod_dense_struct *,struct cholmod_dense_struct *)" (?add@@YAXNPAUcholmod_dense_struct@@0@Z)	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\Bff.obj	1   
Error	LNK2001	unresolved external symbol _cblas_daxpy	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\ConePlacement.obj	1   
Error	LNK2019	unresolved external symbol _cblas_dscal referenced in function "void __cdecl scale(double,struct cholmod_dense_struct *)" (?scale@@YAXNPAUcholmod_dense_struct@@@Z)	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\Bff.obj	1   
Error	LNK2001	unresolved external symbol _cblas_dscal	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\ConePlacement.obj	1    
Error	LNK2019	unresolved external symbol _cblas_dgemm referenced in function "void __cdecl mul(double,struct cholmod_dense_struct *,struct cholmod_dense_struct *,double,struct cholmod_dense_struct *)" (?mul@@YAXNPAUcholmod_dense_struct@@0N0@Z)	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\Bff.obj	1   
Error	LNK2001	unresolved external symbol _cblas_dgemm	bff	C:\Users\Taichi\Desktop\boundary-first-flattening\build\ConePlacement.obj	1   

from boundary-first-flattening.

rohan-sawhney avatar rohan-sawhney commented on August 16, 2024

Hi, I've included an openblas/lapack dependency in the deps folder specifically for Windows. The windows binary in the project is built under win32. There's also a separate command line app now in the binary folder.

from boundary-first-flattening.

rreitbauer avatar rreitbauer commented on August 16, 2024

thanks alot! I was able to build and run ( 32bit and 64bit) the new 1.1 version.

from boundary-first-flattening.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.