hosseinmoein / DataFrame

C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types and contiguous memory storage
https://hosseinmoein.github.io/DataFrame/
BSD 3-Clause "New" or "Revised" License
2.54k stars 313 forks source link

Windows 10, VC++ 2019, CMake runs fine, make / make install do nothing #113

Closed enjoysmath closed 3 years ago

enjoysmath commented 3 years ago

Hi,

CMake seems to output a bunch of stuff into the Debug directory, however, I can neither make or make install stuff. It complains that there's nothing to build. I tried opening up DataFrame.sln in VStudio, and INSTALL project almost finishes, but complains and fails.

How can I build or use this library. I am only really interested in using it as a library and not adding to it. Thank you!

As it is now, no one compiling with VC++ 2019 on Windows 10 can use the library.

hosseinmoein commented 3 years ago

I do not have access to a Windows development environment, but I heard from a lot of people you have built and used this library on Windows. So, a couple of things: Did you follow the CMake instruction in REAME? Did you remember to include .. on the end of your command line?

mkdir [Debug | Release]
cd [Debug | Release]
cmake -DCMAKE_BUILD_TYPE=[Debug | Release] ..
make
make install

One place you can look to see how the Windows build works for this library is the appveyor. the log is here
https://ci.appveyor.com/project/hosseinmoein/dataframe

enjoysmath commented 3 years ago

Here's the command session. With make version info at the end.

FruitfulApproach@DESKTOP-T49RGUJ MINGW64 ~/Desktop/MathematicalFinance/DataFrame/Debug (master)
$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Selecting Windows SDK version 10.0.17134.0 to target Windows 10.0.19041.
-- Copying files for testing
-- Copying files for testing - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/FruitfulApproach/Desktop/MathematicalFinance/DataFrame/Debug

FruitfulApproach@DESKTOP-T49RGUJ MINGW64 ~/Desktop/MathematicalFinance/DataFrame/Debug (master)
$ make
make: *** No targets specified and no makefile found.  Stop.

FruitfulApproach@DESKTOP-T49RGUJ MINGW64 ~/Desktop/MathematicalFinance/DataFrame/Debug (master)
$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-pc-mingw32
hosseinmoein commented 3 years ago

i386-pc-mingw32, are you trying to build this for a 32bit architecture? If so, this library is not supported for the 32bit compiling.

enjoysmath commented 3 years ago

@hosseinmoein I don't think the bitness of make matters. CMake used VC++

hosseinmoein commented 3 years ago

It may not matter in the compiling process, but the library won't work properly on 32bit In any case, I do not have access to Windows environment to reproduce this case on my end. I will ask around and if I hear something, I will let you know

hosseinmoein commented 3 years ago

So, I heard back from two people who use the library on Windows 10. One using it via manual cmake compilation and one using it via Conan. Both said they think something is off with the way your cmake is setup and/or the way you run the make. I know this is not what you want to hear and it's too vague. But without being able to reproduce it, it will be all guess work.

When you run the make command cmake -D CMAKE_BUILD_TYPE=Debug .., are you in the Debug directory?

enjoysmath commented 3 years ago

@hosseinmoein the proper build instructions for Windows 10 should be these:

  1. Install Visual Studio 2019 (or the latest), with C++ build tool support.
  2. Hit the Windows key on keyboard.
  3. Type in "x64".
  4. Right-click "x64 Native Tools Command Prompt", and select "Run as Administrator".
  5. Cd to the directory that is the root of this DataFrame repository (after you've git cloned it).
  6. mkdir [Debug | Release]
  7. cd [Debug | Release]
  8. cmake -G "NMake Makefiles" -D CMAKE_BUILD_TYPE=[Debug | Release] ..
  9. nmake
  10. nmake install