Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Armadillo with openblasin Qt



  • Hello

    I'm trying to use openblas with armadillo in Qt creator. All works fine when I link against blas_win64_MT from the armadillo directory, but when I link to openblas (compiled succesfull after this guide https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio), my program compiles, but then the command prompt just displays "Press <RETURN> to close this window...". I've also tried using nvblas to make armadillo run on my GPU and the same thing happens.

    So anyone knows what is going on? No error messages or anything just a blank program with no outputs. Also it doesn't matter if I remove all aramdillo code from the program it stills does nothing, so i guess it is just the linking to openblas that makes the program do nothing?

    I use mcvs 2017 as a compiler in Qt creator.


  • Moderators

    Did you compile armadillo for your openblas binary? More precisely, did you make sure that the armadillo binary you got is linked properly against a compatible openblas library (this includes the compiler ABI)?

    but then the command prompt just displays "Press <RETURN> to close this window...". I've also tried using nvblas to make armadillo run on my GPU and the same thing happens.

    You can inspect QtCreator's debug log, however almost certainly the loader can't find a library and gives up.


  • Lifetime Qt Champion

    Hi,

    Adding to @kshegunov, blas_win64_MT heavily suggests that it's using the static Windows Runtime which is going to clash with Qt since it's using the Dynamic Runtime.



  • I sure I did not do that, because I not entirely sure what it means. Any information about how I should do that?

    Is it the same thing with nvblas? It is my understanding that when using nvblas I need both that, and a backup Blas library, so for that I should make it link correct to two Blas libraries at the same time.


  • Lifetime Qt Champion

    You have here a nice explanation about the differences between MD and MT.

    I haven't seen anything in the instructions you linked with regards to the runtime. Did you generate all the libraries or use the ones from conda ?


Log in to reply