chronoxor / FastBinaryEncoding

Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift
https://chronoxor.github.io/FastBinaryEncoding
MIT License
827 stars 86 forks source link

Not building on Windows (VS2019) #48

Closed ghost closed 3 years ago

ghost commented 3 years ago
C:\Program_Dev\Git\FastBinaryEncoding\build>vs.bat
-- The C compiler identification is MSVC 19.28.29912.0
-- The CXX compiler identification is MSVC 19.28.29912.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows 10.0.19041 Platform/Windows
-- Could NOT find BISON (missing: BISON_EXECUTABLE)
-- Could NOT find FLEX (missing: FLEX_EXECUTABLE)
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows 10.0.19041 Platform/Windows
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows 10.0.19041 Platform/Windows
-- Found DbgHelp: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x86/DbgHelp.Lib
-- Found RPC: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x86/RpcRT4.Lib
-- Found Userenv: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x86/UserEnv.Lib
-- Found LIBVLD: C:/Program_Dev/Git/FastBinaryEncoding/modules/CppCommon/modules/vld/vld.lib
CMake Error at CMakeLists.txt:44 (flex_target):
  Unknown CMake command "flex_target".

-- Configuring incomplete, errors occurred!
See also "C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CMakeOutput.log".
See also "C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CMakeError.log".

CMakeError.log

Determining if the include file pthread.h exists failed with the following output:
Change Dir: C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CMakeTmp

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/MSBuild.exe cmTC_f0048.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.

  Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29912 for x64

  Copyright (C) Microsoft Corporation.  All rights reserved.

  CheckIncludeFile.c

  cl /c /Zi /W4 /WX /diagnostics:column /Od /Ob0 /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_f0048.dir\Debug\\" /Fd"cmTC_f0048.dir\Debug\vc142.pdb" /Gd /TC /errorReport:queue  /bigobj /bigobj C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\CheckIncludeFile.c

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1,10): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_f0048.vcxproj]

Determining size of off64_t failed with the following output:
Change Dir: C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CMakeTmp

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/MSBuild.exe cmTC_0404f.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.

  Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29912 for x64

  Copyright (C) Microsoft Corporation.  All rights reserved.

  OFF64_T.c

  cl /c /Zi /W4 /WX /diagnostics:column /Od /Ob0 /D WIN32 /D _WINDOWS /D _LARGEFILE64_SOURCE=1 /D HAVE_SYS_TYPES_H /D HAVE_STDINT_H /D HAVE_STDDEF_H /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_0404f.dir\Debug\\" /Fd"cmTC_0404f.dir\Debug\vc142.pdb" /Gd /TC /errorReport:queue  /bigobj /bigobj C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CheckTypeSize\OFF64_T.c

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CheckTypeSize\OFF64_T.c(29,12): error C2065: 'off64_t': undeclared identifier [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_0404f.vcxproj]

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CheckTypeSize\OFF64_T.c(30,12): error C2065: 'off64_t': undeclared identifier [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_0404f.vcxproj]

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CheckTypeSize\OFF64_T.c(31,12): error C2065: 'off64_t': undeclared identifier [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_0404f.vcxproj]

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CheckTypeSize\OFF64_T.c(32,12): error C2065: 'off64_t': undeclared identifier [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_0404f.vcxproj]

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CheckTypeSize\OFF64_T.c(33,12): error C2065: 'off64_t': undeclared identifier [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_0404f.vcxproj]

C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CheckTypeSize/OFF64_T.c:
#include <sys/types.h>
#include <stdint.h>
#include <stddef.h>

#undef KEY
#if defined(__i386)
# define KEY '_','_','i','3','8','6'
#elif defined(__x86_64)
# define KEY '_','_','x','8','6','_','6','4'
#elif defined(__PPC64__)
# define KEY '_','_','P','P','C','6','4','_','_'
#elif defined(__ppc64__)
# define KEY '_','_','p','p','c','6','4','_','_'
#elif defined(__PPC__)
# define KEY '_','_','P','P','C','_','_'
#elif defined(__ppc__)
# define KEY '_','_','p','p','c','_','_'
#elif defined(__aarch64__)
# define KEY '_','_','a','a','r','c','h','6','4','_','_'
#elif defined(__ARM_ARCH_7A__)
# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_'
#elif defined(__ARM_ARCH_7S__)
# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_'
#endif

#define SIZE (sizeof(off64_t))
static char info_size[] =  {'I', 'N', 'F', 'O', ':', 's','i','z','e','[',
  ('0' + ((SIZE / 10000)%10)),
  ('0' + ((SIZE / 1000)%10)),
  ('0' + ((SIZE / 100)%10)),
  ('0' + ((SIZE / 10)%10)),
  ('0' +  (SIZE    % 10)),
  ']',
#ifdef KEY
  ' ','k','e','y','[', KEY, ']',
#endif
  '\0'};

#ifdef __CLASSIC_C__
int main(argc, argv) int argc; char *argv[];
#else
int main(int argc, char *argv[])
#endif
{
  int require = 0;
  require += info_size[argc];
  (void)argv;
  return require;
}

Determining if the function fseeko exists failed with the following output:
Change Dir: C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CMakeTmp

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/MSBuild.exe cmTC_066de.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.

  Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29912 for x64

  Copyright (C) Microsoft Corporation.  All rights reserved.

  CheckFunctionExists.c

  cl /c /Zi /W4 /WX /diagnostics:column /Od /Ob0 /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=fseeko /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_066de.dir\Debug\\" /Fd"cmTC_066de.dir\Debug\vc142.pdb" /Gd /TC /errorReport:queue  /bigobj /bigobj "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.19\Modules\CheckFunctionExists.c"

CheckFunctionExists.obj : error LNK2019: unresolved external symbol fseeko referenced in function main [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_066de.vcxproj]

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\Debug\cmTC_066de.exe : fatal error LNK1120: 1 unresolved externals [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_066de.vcxproj]

Determining if the include file unistd.h exists failed with the following output:
Change Dir: C:/Program_Dev/Git/FastBinaryEncoding/temp/CMakeFiles/CMakeTmp

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/MSBuild.exe cmTC_1c908.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.

  Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29912 for x64

  Copyright (C) Microsoft Corporation.  All rights reserved.

  CheckIncludeFile.c

  cl /c /Zi /W4 /WX /diagnostics:column /Od /Ob0 /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_1c908.dir\Debug\\" /Fd"cmTC_1c908.dir\Debug\vc142.pdb" /Gd /TC /errorReport:queue  /bigobj /bigobj C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\CheckIncludeFile.c

C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1,10): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory [C:\Program_Dev\Git\FastBinaryEncoding\temp\CMakeFiles\CMakeTmp\cmTC_1c908.vcxproj]
chronoxor commented 3 years ago
-- Could NOT find BISON (missing: BISON_EXECUTABLE)
-- Could NOT find FLEX (missing: FLEX_EXECUTABLE)

You need to have WinFlexBison available in your PATH envar:

PATH=Z:\soft\Development\WinFlexBison\bin;%PATH%
ghost commented 3 years ago

@chronoxor thank you for the tip. I had since downloaded DOXYGEN, BISON and FLEX and successfully produced a build. Maybe update the Requirements which does not specify FLEX&BISON as dependencies in the for Windows.