Open oparkins opened 3 years ago
What I have tried so far:
Compile on Windows with MinGW
[ 1%] Building CXX object ../lib/csv-parser/build/include/internal/CMakeFiles/csv.dir/basic_csv_parser.cpp.obj
In file included from C:\Users\Owen Parkins\Development\PRIMULA\lib\csv-parser\include\internal\col_names.hpp:7:0,
from C:\Users\Owen Parkins\Development\PRIMULA\lib\csv-parser\include\internal\basic_csv_parser.hpp:1
9,
from C:\Users\Owen Parkins\Development\PRIMULA\lib\csv-parser\include\internal\basic_csv_parser.cpp:1
:
C:\Users\Owen Parkins\Development\PRIMULA\lib\csv-parser\include\internal\common.hpp:62:23: fatal error: string_view:
No such file or directory
#include <string_view>
^
compilation terminated.
Since this was failing on very basic functions, and I know MinGW is out of date, I just moved on.
Cross compile for Windows on my Linux machine
filesystem7__cxx114path17_M_find_extensionEv
. Can't separate the OpenMP library due to the library being a header library. So that means that it will be compiled.... Refactoring this might solve some problems, but I am not going to try this right now.
Next steps:
I tried compiling with clang. I had to install clang (llvm.org) and a VS LLVM extension for Visual Studio. Then I ran cmake as:
cmake ../ -T"LLVM" -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release
This allowed me to build PRIMULA and it seems to run properly. I need a test case to make sure it works all properly.
Messing with the refactor of KiLib didn't get what I wanted. It is actually all PRIMULA's fault for the lack of OpenMP support though. I thought it was because of KiLib, but it was through KiLib, an import and usage from primula++.cpp
. We could butcher that stats lib to get it to compile, but since Clang compiled I'm not too upset about waiting for a patch from Microsoft.
@oparkins There are 3 examples to test in https://github.com/CoSci-LLC/PRIMULATests under Data
We get a compiler error when compiling our code with OpenMP on Windows with MSVC:
This has been reported to M$ by someone else. Supposedly there is an internal fix and now we need to wait for the next release. I've followed the issue and will receive emails when it gets fixed.
This means that the stats lib can't have any OpenMP at the moment :frowning_face:
I'm going to work on getting OpenMP working for PRIMULA code at least.