shell-plus-plus icon indicating copy to clipboard operation
shell-plus-plus copied to clipboard

Support building on MSVC

Open aminya opened this issue 5 years ago • 1 comments

Fixes #7

aminya avatar Oct 08 '20 03:10 aminya

Well, the issue is more than Cmake. The code itself uses Linux types identifiers such as uint which are not in standard c++. It uses some headers that are specific to linux.

❯ cmake --build ./build
CMake is re-running because C:/Users/aminy/Documents/GitHub/Shell/shell-plus-plus/build/src/CMakeFiles/generate.stamp is out-of-date.
  the file 'C:/Users/aminy/Documents/GitHub/Shell/shell-plus-plus/src/CMakeLists.txt'
  is newer than 'C:/Users/aminy/Documents/GitHub/Shell/shell-plus-plus/build/src/CMakeFiles/generate.stamp.depend'
  result='-1'
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/aminy/Documents/GitHub/Shell/shell-plus-plus/build
Microsoft (R) Build Engine version 16.8.0-preview-20452-03+5dee11854 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  ast.cc
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(76,8): error C2061: syntax error: identifier 'uint' [C:\Users\aminy\Documents\GitH
ub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(83,8): error C2061: syntax error: identifier 'uint' [C:\Users\aminy\Documents\GitH
ub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(90,8): error C2061: syntax error: identifier 'uint' [C:\Users\aminy\Documents\GitH
ub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(146,12): error C3646: 'Line': unknown override specifier [C:\Users\aminy\Documents
\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(146,12): error C2059: syntax error: '(' [C:\Users\aminy\Documents\GitHub\Shell\she
ll-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(146,30): error C2334: unexpected token(s) preceding '{'; skipping apparent functio
n body [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(148,11): error C3646: 'Col': unknown override specifier [C:\Users\aminy\Documents\
GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(148,11): error C2059: syntax error: '(' [C:\Users\aminy\Documents\GitHub\Shell\she
ll-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(148,29): error C2334: unexpected token(s) preceding '{'; skipping apparent functio
n body [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(267,13): error C3646: 'line_': unknown override specifier [C:\Users\aminy\Document
s\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(267,13): error C4430: missing type specifier - int assumed. Note: C++ does not sup
port default-int [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(268,12): error C3646: 'col_': unknown override specifier [C:\Users\aminy\Documents
\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(268,12): error C4430: missing type specifier - int assumed. Note: C++ does not sup
port default-int [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(80,15): error C2065: 'line': undeclared identifier [C:\Users\aminy\Documents\GitHu
b\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(81,14): error C2065: 'col': undeclared identifier [C:\Users\aminy\Documents\GitHub
\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(80,9): error C2614: 'shpp::internal::Token': illegal member initialization: 'line_
' is not a base or member [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(81,9): error C2614: 'shpp::internal::Token': illegal member initialization: 'col_'
 is not a base or member [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(87,15): error C2065: 'line': undeclared identifier [C:\Users\aminy\Documents\GitHu
b\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(88,14): error C2065: 'col': undeclared identifier [C:\Users\aminy\Documents\GitHub
\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(87,9): error C2614: 'shpp::internal::Token': illegal member initialization: 'line_
' is not a base or member [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(88,9): error C2614: 'shpp::internal::Token': illegal member initialization: 'col_'
 is not a base or member [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(94,15): error C2065: 'line': undeclared identifier [C:\Users\aminy\Documents\GitHu
b\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(95,14): error C2065: 'col': undeclared identifier [C:\Users\aminy\Documents\GitHub
\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(94,9): error C2614: 'shpp::internal::Token': illegal member initialization: 'line_
' is not a base or member [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(95,9): error C2614: 'shpp::internal::Token': illegal member initialization: 'col_'
 is not a base or member [C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]
C:\Users\aminy\Documents\GitHub\Shell\shell-plus-plus\src\parser/token.h(101,19): error C2039: 'line_': is not a member of 'shpp::internal::Token' [C:\User
s\aminy\Documents\GitHub\Shell\shell-plus-plus\build\src\shpp.vcxproj]

aminya avatar Oct 08 '20 04:10 aminya