#2415 Successfully compile in Visual C++ 6

Not Scheduled
open-rejected
nobody
None
5
2014-08-19
2008-01-06
Dmitry Maslov
No

I made a few changes in the code to successfully compile WinMarge.

> which version of WinMerge you are changing

I have change the last version from SVN
https://winmerge.svn.sourceforge.net/svnroot/winmerge/trunk
(rev. 4860)

> what was the compile error yuo were seeing?

\winmerge\src\common\messageboxdialog.h(162) : error C2555: 'CMessageBoxDialog::DoModal' : overriding virtual function differs from 'CDialog::DoModal' only by return type or calling convention

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

WinMerge\Src\7zCommon.cpp(493) : error C2065: 'SetWindowLongPtr' : undeclared identifier

\WinMerge\Src\7zCommon.cpp(493) : error C2065: 'DWLP_MSGRESULT' : undeclared identifier

\WinMerge\Src\ChildFrm.cpp(369) : error C2065: 'SetWindowLongPtr' : undeclared identifier

\WinMerge\Src\ChildFrm.cpp(369) : error C2065: 'GWLP_WNDPROC' : undeclared identifier

\WinMerge\Src\ChildFrm.cpp(369) : error C2065: 'LONG_PTR' : undeclared identifier

\WinMerge\Src\ChildFrm.cpp(369) : error C2146: syntax error : missing ')' before identifier 'WndProc'

\WinMerge\Src\ChildFrm.cpp(369) : error C2059: syntax error : ')'

\WinMerge\Src\ChildFrm.cpp(381) : error C2146: syntax error : missing ')' before identifier 'pfnOldWndProc'

\WinMerge\Src\ChildFrm.cpp(381) : error C2059: syntax error : ')'

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

\WinMerge\Src\Common\CSubclass.cpp(86) : error C2065: 'GetWindowLongPtr' : undeclared identifier

\WinMerge\Src\Common\CSubclass.cpp(86) : error C2065: 'GWLP_WNDPROC' : undeclared identifier

\WinMerge\Src\Common\CSubclass.cpp(96) : error C2065: 'SetWindowLongPtr' : undeclared identifier

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

\WinMerge\Src\DirColsDlg.cpp(166) : error C2065: 'DWORD_PTR' : undeclared identifier

\WinMerge\Src\DirColsDlg.cpp(166) : error C2146: syntax error : missing ';' before identifier 'data'

\WinMerge\Src\DirColsDlg.cpp(166) : error C2065: 'data' : undeclared identifier

\WinMerge\Src\DirColsDlg.cpp(252) : error C2146: syntax error : missing ';' before identifier 'data'

\WinMerge\Src\DirColsDlg.cpp(284) : error C2146: syntax error : missing ';' before identifier 'data'

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

\WinMerge\Src\DirView.cpp(836) : error C2061: syntax error : identifier 'DWORD_PTR'

\WinMerge\Src\DirView.cpp(1423) : error C2660: 'GetItemKeyFromData' : function does not take 1 parameters

\WinMerge\Src\DirView.cpp(1435) : error C2065: 'DWORD_PTR' : undeclared identifier

\WinMerge\Src\DirView.cpp(1435) : error C2146: syntax error : missing ')' before identifier 'dw'

\WinMerge\Src\DirView.cpp(1435) : error C2350: 'CDirView::GetItemKeyFromData' is not a static member

\WinMerge\Src\DirView.cpp(1435) : error C2440: 'initializing' : cannot convert from 'int' to 'struct __POSITION *'

\WinMerge\Src\DirView.cpp(1435) : error C2059: syntax error : ')'

\WinMerge\Src\DirView.cpp(1436) : error C2143: syntax error : missing ';' before '{'

\WinMerge\Src\DirView.cpp(1436) : error C2447: missing function header (old-style formal list?)

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

\WinMerge\Src\DirViewColHandler.cpp(164) : error C2660: 'GetItemKeyFromData' : function does not take 1 parameters

\WinMerge\Src\DirViewColHandler.cpp(165) : error C2660: 'GetItemKeyFromData' : function does not take 1 parameters

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

\WinMerge\Src\Common\LanguageSelect.cpp(126) : error C2065: 'LANG_DIVEHI' : undeclared identifier

\WinMerge\Src\Common\LanguageSelect.cpp(168) : error C2065: 'LANG_GALICIAN' : undeclared identifier

\WinMerge\Src\Common\LanguageSelect.cpp(225) : error C2065: 'LANG_KYRGYZ' : undeclared identifier

\WinMerge\Src\Common\LanguageSelect.cpp(250) : error C2065: 'LANG_MONGOLIAN' : undeclared identifier

\WinMerge\Src\Common\LanguageSelect.cpp(326) : error C2065: 'LANG_SYRIAC' : undeclared identifier

\WinMerge\Src\Common\LanguageSelect.cpp(489) : error C2065: 'INVALID_FILE_ATTRIBUTES' : undeclared identifier

\winmerge\src\dirview.h(404) : error C2061: syntax error : identifier 'DWORD_PTR'

to avoid this message, you should put afxmt.h in your PCH (normally stdafx.h)

\WinMerge\Src\Common\sizecbar.cpp(537) : error C2065: 'GetClassLongPtr' : undeclared identifier

\WinMerge\Src\Common\sizecbar.cpp(537) : error C2065: 'GCLP_HBRBACKGROUND' : undeclared identifier

\WinMerge\Src\Common\SuperComboBox.cpp(307) : error C2039: 'SHAutoComplete' : is not a member of '`global namespace''

\WinMerge\Src\Common\SuperComboBox.cpp(307) : error C2065: 'SHAutoComplete' : undeclared identifier

\WinMerge\Src\Common\SuperComboBox.cpp(307) : error C2065: 'SHACF_FILESYSTEM' : undeclared identifier

P.S. Elso i see this wornings, but not fix it:
\winmerge\src\charsets.c(1001) : warning C4090: '=' : different 'const' qualifiers
\winmerge\src\charsets.c(1027) : warning C4090: '=' : different 'const' qualifiers
\winmerge\src\charsets.c(1043) : warning C4090: '=' : different 'const' qualifiers

P.P.S. Localizing does not work at all:
Unresolved or mismatched references detected when attempting to read translations from Russion.po

Discussion

1 2 > >> (Page 1 of 2)
  • Jochen Tucht
    Jochen Tucht
    2008-01-06

    Logged In: YES
    user_id=766060
    Originator: NO

    When using VC6, please compile with Microsoft Platform SDK February 2003.

    > Localizing does not work at all...

    UpdatePoFilesFromPotFile.vbs

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-01-06

    Logged In: YES
    user_id=1970736
    Originator: YES

    I do not use Microsoft Platform SDK.
    Changes not big.

     
  • Kimmo Varis
    Kimmo Varis
    2008-01-06

    Logged In: YES
    user_id=631874
    Originator: NO

    I agree with Jochen here. We've used PSDK for long time already and it is considered and documented as a requirement for compiling WinMerge.

    Our readme-developers.html in Docs/Developers has compiling documentation. Also available through net:
    http://winmerge.svn.sourceforge.net/viewvc/\*checkout*/winmerge/trunk/Docs/Developers/readme-developers.html

    We've tried to avoid adding compiler-specific code whenever we can, because such code is hard to test as people use different compilers, and bugs may be hard to find. This is not reason we add such code.

    However, this patch can be a good for people who just want to compile WinMerge without installing PSDK. And as such we can even add a reference to it into documents. We won't add it to our source repository but we can keep it available.

     
  • Logged In: NO

    i tried this b4
    but nobody wold fix
    so i try pay developers because i need to compare binary files
    but notn work
    but they fix now anyway it looks

     
  • Jochen Tucht
    Jochen Tucht
    2008-07-19

    Logged In: YES
    user_id=766060
    Originator: NO

    VC6's STL strings happen to lack method clear(). Can we stay with erase()?

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    I add changes in the last version from SVN
    https://winmerge.svn.sourceforge.net/svnroot/winmerge/trunk
    (rev. 5980)

    1. Need add std:: to iterators
    error C2653: 'vector<struct DiffRangeInfo,class std::allocator<struct DiffRangeInfo> >' : is not a class or namespace name
    error C2065: 'iterator' : undeclared identifier
    ...

    changes in std.zip
    File Added: std.zip

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    GhostTextBuffer.cpp

     
    Attachments
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    I add changes in the last version from SVN
    https://winmerge.svn.sourceforge.net/svnroot/winmerge/trunk
    (rev. 5980)

    2. Need move declaration of 'blo' and 'bhi' in GhostTextBuffer.cpp
    ...\WinMerge\Src\GhostTextBuffer.cpp(1072) : error C2362: initialization of 'bhi' is skipped by 'goto limitWithPreviousBlock'
    ...\WinMerge\Src\GhostTextBuffer.cpp(1072) : error C2362: initialization of 'blo' is skipped by 'goto limitWithPreviousBlock'
    File Added: GhostTextBuffer.zip

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    I add changes in the last version from SVN
    https://winmerge.svn.sourceforge.net/svnroot/winmerge/trunk
    (rev. 5980)

    3. m_cmdLineInfo.m_sLeftDesc is String type now, need changes in ClearCaseCmdLineParser.cpp (empty() and push_back()?) and in WinMergeCmdLineParser.cpp
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(110) : error C2039: 'IsEmpty' : is not a member of 'basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(115) : error C2039: 'IsEmpty' : is not a member of 'basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(122) : error C2039: 'SetAtGrow' : is not a member of 'vector<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,class
    std::allocator<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > > >'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(122) : error C2039: 'm_nFiles' : is not a member of 'MergeCmdLineInfo'
    ...\WinMerge\Src\MergeCmdLineInfo.h(41) : see declaration of 'MergeCmdLineInfo'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(123) : error C2039: 'm_nFiles' : is not a member of 'MergeCmdLineInfo'
    ...\WinMerge\Src\MergeCmdLineInfo.h(41) : see declaration of 'MergeCmdLineInfo'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(132) : error C2039: 'SetAtGrow' : is not a member of 'vector<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,class
    std::allocator<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > > >'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(132) : error C2039: 'm_nFiles' : is not a member of 'MergeCmdLineInfo'
    ...\WinMerge\Src\MergeCmdLineInfo.h(41) : see declaration of 'MergeCmdLineInfo'
    ...\WinMerge\Src\ClearCaseCmdLineParser.cpp(133) : error C2039: 'm_nFiles' : is not a member of 'MergeCmdLineInfo'
    ...\WinMerge\Src\MergeCmdLineInfo.h(41) : see declaration of 'MergeCmdLineInfo'
    ...

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    I add changes in the last version from SVN
    https://winmerge.svn.sourceforge.net/svnroot/winmerge/trunk
    (rev. 5980)

    4. Warning in PatchTool.cpp
    D:\Programming\Projects\WinMerge\Src\PatchTool.cpp(207) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
    File Added: PatchTool.zip

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    PatchTool.cpp

     
    Attachments
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    pcre.dsp

     
    Attachments
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    Platform SDK fix

     
    Attachments
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-27

    I add changes in the last version from SVN
    https://winmerge.svn.sourceforge.net/svnroot/winmerge/trunk
    (rev. 5980)

    7. For peoples who not using Microsoft Platform SDK
    Need add changes
    ...\WinMarge\Src\StdAfxVC6.h
    ...\WinMarge\Src\StdAfx.h
    ...\WinMarge\Src\htmlhelp.h
    ...\WinMarge\Src\htmlhelp.lib
    ...\WinMarge\Src\Common\SuperComboBox.cpp
    ...\WinMarge\Src\Common\Utf8FileDetect.cpp
    ...\WinMarge\Externals\heksedit\htmlhelp.lib
    ...\WinMarge\Externals\heksedit\htmlhelp.h
    ...\WinMarge\Externals\heksedit\InvokeHtmlHelp.cpp
    ...\WinMarge\Externals\heksedit\precomp.h
    ...\WinMarge\Externals\heksedit\StdAfxVC6.h

    File Added: WinMarge.zip

     
  • Kimmo Varis
    Kimmo Varis
    2008-09-28

    > File Added: GhostTextBuffer.zip
    This looks ok.

    Committed to SVN trunk:
    Completed: At revision: 5982

     
  • Kimmo Varis
    Kimmo Varis
    2008-09-28

    > File Added: PatchTool.zip
    I used a simpler way to add '!!' before the BOOL type.

    Committed to SVN trunk:
    Completed: At revision: 5983

     
  • Kimmo Varis
    Kimmo Varis
    2008-09-28

    > File Added: pcre.zip

    Ok, other compilers ignore this file.
    Committed to SVN trunk:
    Completed: At revision: 5984

     
  • Kimmo Varis
    Kimmo Varis
    2008-09-28

    > File Added: Merge.zip

    Committed to SVN trunk:
    Completed: At revision: 5985

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-28

    • assigned_to: nobody --> jtuc
     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-28

    What about #1 (std fix)? VC6 dont understand "using std::vector;" for vector iterators and size_types :(

    What about #3 (bugs with m_cmdLineInfo)? jtuc add Patch #2081779 in rev. 5862, and ClearCaseCmdLineParser.cpp and
    WinMergeCmdLineParser.cpp compile with errors :(

     
  • Jochen Tucht
    Jochen Tucht
    2008-09-28

    ClearCaseCmdLineParser.* and WinMergeCmdLineParser.* are no longer used and can be removed from project.

     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-28

    • assigned_to: jtuc --> nobody
     
  • Dmitry Maslov
    Dmitry Maslov
    2008-09-28

    #3
    Need remove files ClearCaseCmdLineParser.cpp, ClearCaseCmdLineParser.h, WinMergeCmdLineParser.cpp, WinMergeCmdLineParser.h from SVN. Not need it.
    In Merge.dsp need to change /I "..\Externals\pcre\pcre-6.7" to /I "..\Externals\pcre\Win32" !!!
    and remove ClearCaseCmdLineParser.cpp, ClearCaseCmdLineParser.h, WinMergeCmdLineParser.cpp, WinMergeCmdLineParser.h
    File Added: Merge.zip

     
1 2 > >> (Page 1 of 2)