Closed ghost closed 9 years ago
@tmakaro Try to force this flag to the compiler "-fpermissive". If it doesn't work, tell me more about your setup. x86 or x64 and your OS version, and monday I will take care of your issue.
@c64cosmin There is no -fpermissive option in visual studio 2013 that I am aware of. Here is the compilation output. I using VS2013 on a 64bit windows 10 OS.
This is the compilation output I get:
1>------ Rebuild All started: Project: bindhelper, Configuration: Release Win32 ------
2>------ Rebuild All started: Project: strip_debug, Configuration: Release Win32 ------
3>------ Rebuild All started: Project: wsgate, Configuration: Release Win32 ------
1> bindhelper.c
3> base64.cpp
1> bindhelper.vcxproj -> C:\FreeRDP-WebConnect\wsgate\build\Release\bindhelper.exe
2> Building Custom Rule C:/FreeRDP-WebConnect/wsgate/webroot/CMakeLists.txt
2> CMake does not need to re-run because C:\FreeRDP-WebConnect\wsgate\build\webroot\CMakeFiles\generate.stamp is up-to-date.
2> Generating index.html
2> Generating js/modernizr.js
2> Generating js/mootools.js
3> btexception.cpp
2> Generating js/simpletabs.js
2> Generating js/vkb.js
2> Generating js/wsgate.js
2> Generating css/style.css
2> Generating css/vkb.css
3> Neither libbfd nor libdwarf are available, so no backtracing enabled
3> logging.cpp
3> sha1.cpp
3>C:\FreeRDP-WebConnect\wsgate\sha1.cpp(65): warning C4351: new behavior: elements of array 'SHA1::Message_Block' will be default initialized
3> wsgate_main.cpp
3> Neither libbfd nor libdwarf are available, so no backtracing enabled
3> RDP.cpp
3> Neither libbfd nor libdwarf are available, so no backtracing enabled
3>C:\FreeRDP-WebConnect\wsgate\RDP.cpp(848): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,rdpPointer *)' to 'pPointer_New'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\RDP.cpp(850): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,rdpPointer *)' to 'pPointer_Set'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\RDP.cpp(851): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *)' to 'pPointer_SetNull'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\RDP.cpp(852): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *)' to 'pPointer_SetDefault'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3> Update.cpp
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(44): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *)' to 'pBeginPaint'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(45): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *)' to 'pEndPaint'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(46): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,rdpBounds *)' to 'pSetBounds'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(47): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *)' to 'pSynchronize'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(48): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *)' to 'pDesktopResize'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(49): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,BITMAP_UPDATE *)' to 'pBitmapUpdate'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(50): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,PALETTE_UPDATE *)' to 'pPalette'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(51): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,PLAY_SOUND_UPDATE *)' to 'pPlaySound'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(52): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,SURFACE_BITS_COMMAND *)' to 'pSurfaceBits'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(54): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,UINT8,RECTANGLE_16 *)' to 'pRefreshRect'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Update.cpp(55): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,UINT8,RECTANGLE_16 *)' to 'pSuppressOutput'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3> Primary.cpp
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(43): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,DSTBLT_ORDER *)' to 'pDstBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(44): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,PATBLT_ORDER *)' to 'pPatBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(45): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,SCRBLT_ORDER *)' to 'pScrBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(46): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,OPAQUE_RECT_ORDER *)' to 'pOpaqueRect'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(47): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,DRAW_NINE_GRID_ORDER *)' to 'pDrawNineGrid'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(48): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MULTI_DSTBLT_ORDER *)' to 'pMultiDstBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(49): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MULTI_PATBLT_ORDER *)' to 'pMultiPatBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(50): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MULTI_SCRBLT_ORDER *)' to 'pMultiScrBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(51): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MULTI_OPAQUE_RECT_ORDER *)' to 'pMultiOpaqueRect'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(52): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MULTI_DRAW_NINE_GRID_ORDER *)' to 'pMultiDrawNineGrid'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(53): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,LINE_TO_ORDER *)' to 'pLineTo'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(54): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,POLYLINE_ORDER *)' to 'pPolyline'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(55): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MEMBLT_ORDER *)' to 'pMemBlt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(56): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,MEM3BLT_ORDER *)' to 'pMem3Blt'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(57): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,SAVE_BITMAP_ORDER *)' to 'pSaveBitmap'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(58): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,GLYPH_INDEX_ORDER *)' to 'pGlyphIndex'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(59): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,FAST_INDEX_ORDER *)' to 'pFastIndex'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(60): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,FAST_GLYPH_ORDER *)' to 'pFastGlyph'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(61): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,POLYGON_SC_ORDER *)' to 'pPolygonSC'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(62): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,POLYGON_CB_ORDER *)' to 'pPolygonCB'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(63): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,ELLIPSE_SC_ORDER *)' to 'pEllipseSC'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3>C:\FreeRDP-WebConnect\wsgate\Primary.cpp(64): error C2440: '=' : cannot convert from 'void (__cdecl *)(rdpContext *,ELLIPSE_CB_ORDER *)' to 'pEllipseCB'
3> This conversion requires a reinterpret_cast, a C-style cast or function-style cast
3> Png.cpp
3> Neither libbfd nor libdwarf are available, so no backtracing enabled
3> nova_token_auth.cpp
3> NTService.cpp
3> Neither libbfd nor libdwarf are available, so no backtracing enabled
3> Generating Code...
3>c:\freerdp-webconnect\wsgate\nova_token_auth.cpp(122): warning C4715: 'nova_console_token_auth_impl::get_nova_url' : not all control paths return a value
4>------ Skipped Rebuild All: Project: ALL_BUILD, Configuration: Release Win32 ------
4>Project not selected to build for this solution configuration
========== Rebuild All: 2 succeeded, 1 failed, 1 skipped ==========
@c64cosmin I was able to get further along by casting the variables. for example
rdp->update->BeginPaint = cbBeginPaint;
to
rdp->update->BeginPaint = (pBeginPaint)cbBeginPaint;
Not sure if that was a good thing to do or not though.
So I am down to one last error:
error LNK1143: invalid or corrupt file: no symbol for COMDAT section 0x194 C:\FreeRDP-WebConnect\wsgate\build\libehs.a(ehs.o) wsgate
I have no Idea what that means or how to fix it :)
@c64cosmin I got it! Would be nice if you could confirm that the casts I did are the correct fix though :)
so the problem with the libehs.a file was that it was a residual file from me trying to install ehs previously. I think I originally installed a unix version of ehs??? I removed that file and put libehs.lib in its places and the compilation process works now.
I am getting so close to having this thing compiled on windows! I used cmake gui to generate the build for visual studio 2013. It took me a while to get all the included packages. I may even write up a howto once I'm done. However, I am now getting the followng errors:
In Update.cpp line 44
The error is:
I'm not a C or C++ programmer (I write C# code normally) so I am at a loss for what is wrong here. Here is the cmake output if that matters: