pmem / pmdk-convert

Conversion tool for pmdk pools
Other
1 stars 19 forks source link

Compilation errors on Windows #89

Open draghan opened 4 years ago

draghan commented 4 years ago

There are compilation errors on Windows 10 machine.

Building was done according to the README:

Steps to reproduce:

  1. Clone pmdk-convert repo:

    PS > git clone https://github.com/pmem/pmdk-convert.git
  2. Create build directory and select it as the current working directory:

    PS > mkdir build
    PS > cd build
  3. Generate solution:

    PS build> cmake .. -G "Visual Studio 14 2015 Win64"

    ...or point explicitly the Windows SDK version:

    PS build> cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_SYSTEM_VERSION="10.0.18362.1"
  4. Build solution:

    PS build> msbuild ALL_BUILD.vcxproj

Expected result: Solution is compiling successfully without compilation errors.

Actual result: Solution is not compiling successfully. Produced compilation errors:

(ClCompile target) ->
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(65): error C2065: 'WIN32_MEMORY_REGION_INFORMATION': undeclar
ed identifier [C:\Users\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(65): error C2146: syntax error: missing ';' before identifier
 'region_info' [C:\Users\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(65): error C2065: 'region_info': undeclared identifier [C:\Us
ers\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(83): error C2065: 'MemoryRegionInfo': undeclared identifier [
C:\Users\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(83): error C2065: 'region_info': undeclared identifier [C:\Us
ers\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(84): error C2065: 'region_info': undeclared identifier [C:\Us
ers\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(85): error C2065: 'region_info': undeclared identifier [C:\Us
ers\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\libpmem\pmem_windows.c(85): error C2224: left of '.DirectMapped' must have struct/un
ion type [C:\Users\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]
  C:\Users\test-user\C2\pmdk-convert\1.8-rc2\src\windows\win_mmap.c(546): error C2065: 'FILE_DAX_VOLUME': undeclared identifier [C:\U
sers\test-user\C2\pmdk-convert\build\libpmem-convert.vcxproj]

Detailed log from powershell in attachment: powershell.log

pbalcer commented 4 years ago

@wlemkows can you please take a look?

lukaszgda commented 2 years ago

Hi

I've check this a few days ago and this issue still exist on components described above (with latest master branch). Maybe there is a Windows/SDK/CMake combination that will work?