Uploaded image for project: 'ReactOS Build Environment'
  1. ReactOS Build Environment
  2. ROSBE-159

RosBE 2.2 fails to build VSSolution (VS <= 2015)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      So far tested on VS 2013 and 2015
      This patch is required because we no longer ship a custom CMake (is it compatible with our current CMake?)

      diff --git a/sdk/cmake/msvc.cmake b/sdk/cmake/msvc.cmake
      index 3b576cf867..61ccbdf49d 100644
      --- a/sdk/cmake/msvc.cmake
      +++ b/sdk/cmake/msvc.cmake
      @@ -177,7 +177,7 @@ else()
           set(cl_includes_flag "/showIncludes")
       endif()
       
      -if(MSVC_IDE AND (CMAKE_VERSION MATCHES "ReactOS"))
      +if(MSVC_IDE)
           # For VS builds we'll only have en-US in resource files
           add_definitions(/DLANGUAGE_EN_US)
       else()
      @@ -521,7 +521,7 @@ function(allow_warnings __module)
       endfunction()
       
       macro(add_asm_files _target)
      -    if(MSVC_IDE AND (CMAKE_VERSION MATCHES "ReactOS"))
      +    if(MSVC_IDE)
               get_defines(_directory_defines)
               get_includes(_directory_includes)
               get_directory_property(_defines COMPILE_DEFINITIONS)
      @@ -588,7 +588,7 @@ function(add_linker_script _target _linker_script_file)
           else()
               set(_no_std_includes_flag "/X")
           endif()
      -    if(MSVC_IDE AND (CMAKE_VERSION MATCHES "ReactOS"))
      +    if(MSVC_IDE)
               # MSBuild, via the VS IDE, uses response files when calling CL or LINK.
               # We cannot specify a custom response file on the linker command-line,
               # since specifying response files from within response files is forbidden.
      

      Issue #1
      Some targets are failing with unresolved symbols (e.g. atl_apitest):

      >MSBuild REACTOS.sln /t:modules\rostests\apitests\atl\atl_apitest
      CComVariant.obj : error LNK2001: unresolved external symbol __imp___tcschr [R:\build\dev\devenv\modules\rostests\apitests\atl\atl_apitest.vcxproj]
      

      Issue #2
      Some targets fail with link error (e.g. zipfldr)
      As far as I can see, it builds all dependencies, but has issues with final binary name

        trees.c
        zutil.c
        zlib.vcxproj -> R:\build_msbuild\sdk\lib\3rdparty\zlib\Debug\zlib.lib
        Generating zipfldr.def, zipfldr_stubs.c
        Building Custom Rule C:/rosgit/dll/shellext/zipfldr/CMakeLists.txt
        zipfldr.cpp
        zippidl.cpp
        CConfirmReplace.cpp
        CExplorerCommand.cpp
        CEnumZipContents.cpp
        CFolderViewCB.cpp
        CSendToZip.cpp
        CZipCreator.cpp
        CZipExtract.cpp
        CZipPassword.cpp
        Debug.cpp
      R:\build_msbuild\sdk\include\psdk\winnt.h(6861): warning C4200: nonstandard extension used : zero-sized array in struct/union (C:\rosgit\dll\shellext\zipfldr\CZipEx
      tract.cpp) [R:\build_msbuild\dll\shellext\zipfldr\zipfldr.vcxproj]
                Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
      R:\build_msbuild\sdk\include\psdk\winnt.h(6861): warning C4200: nonstandard extension used : zero-sized array in struct/union (C:\rosgit\dll\shellext\zipfldr\CZipPa
      ssword.cpp) [R:\build_msbuild\dll\shellext\zipfldr\zipfldr.vcxproj]
                Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
      R:\build_msbuild\sdk\include\psdk\winnt.h(6861): warning C4200: nonstandard extension used : zero-sized array in struct/union (C:\rosgit\dll\shellext\zipfldr\Debug.
      cpp) [R:\build_msbuild\dll\shellext\zipfldr\zipfldr.vcxproj]
                Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
           Creating library R:/build_msbuild/dll/shellext/zipfldr/Debug/ and object R:/build_msbuild/dll/shellext/zipfldr/Debug/.exp
      LINK : fatal error LNK1104: cannot open file 'R:/build_msbuild/dll/shellext/zipfldr/Debug/' [R:\build_msbuild\dll\shellext\zipfldr\zipfldr.vcxproj]
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bug zilla Bug Zilla
                Reporter:
                learn_more Mark Jansen
              • Votes:
                3 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: