Menu

Visual C++ 2005

Anonymous
2007-11-18
2013-04-17
  • Anonymous

    Anonymous - 2007-11-18

    I have compiled ClassBuilder 2.5 using VC 2005. The projects required revision and I did a bit of guessing but I did get it to compile, both the DLL and the exe. I added a C file to the project to get the DIB function, but that might not be what was intended. I did a quick test using the system I built with, which is Server 2003. I can do further testing and I can test using XP. I will probably test using XP soon.

    Does that help? I can understand the importance of a common development environment, so I can understand if VC 6 needs to be used, but I am confident that whatever problems exist with VC 2005 can be solved.

    I will also try building version 2.9.

     
    • John van der Kist

      The problem was that versions built using Visual C++ 2003 and 2005 would not run onder Windows XP. Although that might be easy to solve, I decided to keep using VC6 because IJW (it just worked). Undoubtably, we will move to 2005 / 2008 in the near future. Please let me  know about the changes you had to make to get it running.

      Regards,

      John

       
    • Anonymous

      Anonymous - 2007-11-18

      For 2.9 the major change seems to be that the serialize portion uses the old iostream, such as fstream.h, instead of the standard classes. So I suppose that is something that would be most worthwhile to fix. VC 2005 does not have the old headers.

      Other than that, there is not much to do. Since version 2.9 does not have projects for VC 2005, I just opened the VC 6 workspace and VC converted the two projects. So that was quite easy. The only thing I needed to do that I remember (my memory is not so good even though I did it a few minutes ago) is to adjust the include directories. I got to the point of getting an error from fstream.h not found and quit there. I can try modifying the #includes by removing the ".h" to see what happens but since you might have comments or whatever I will wait in case you do.

      I have been active in the MSDN VC 2005 forums and I think people there will be eager to help if you want to try VC 2005.

       
    • Anonymous

      Anonymous - 2007-11-20

      I apologize for being very innacurate.

      The problem is in src\classbuilder\serializexml\CArchiveXML.h. It includes fstream.h unconditionally. I see that all other includes are conditional based on version. So I copied code that does the include conditionally based on _MFC_VER and that compiles. So that is the only modification except for adjustment of the includes directories. Perhaps the fix needs to be made in a different way, if the code is generated, but I assume the responsible person understands that totally.

      It compiles, but the link did not complete. I expect that to be easy to fix, but I wanted to correct what I said about fstream.h.

       
    • Anonymous

      Anonymous - 2007-11-20

      Correction, again. That was the exe that compiled. The DLL gets many warnings and three errors. One of the errors is about the bsc file, which I am sure is insignificant. The two errors are:

      .\SerializeMembersMethodXML.cpp(161) : error C3867: 'Member::GetSerialize': function call missing argument list; use '&Member::GetSerialize' to create a pointer to member
      SerializeMethod.cpp
      SerializeMethodXML.cpp
      .\SerializeMethodXML.cpp(161) : error C3867: 'Member::GetSerialize': function call missing argument list; use '&Member::GetSerialize' to create a pointer to member

      The lines that got the errors are the same, except they exist in the two source files; both source code lines are:

      Class::MemberIterator member(pClass, Member::GetSerialize);

       
      • Vambola Kotkas

        Vambola Kotkas - 2007-11-20

        I also have Classbuilder built with MSVC 8.0 (2005) and it seems to run and work well.  Overall it was (like Sam already said) that just few places needed editing. Less problems than with MSVC 7.1 (2003) if i remember correctly.

        Yes, MSVC 8.0 did require explicit '&' for getting a pointer to member function.

        Usually i get rid of warnings about the parts of C runtime library (that 8.0 noisily deprecates) by adding a line:
        #define _CRT_SECURE_NO_WARNINGS
        into each stdafx.h. May be good idea to do with Classbuilder too; that define afaik does not affect older versions of the compiler.

        As for the problem with locations of include files and libraries ... then that is same when opening the .dsw-s and .dsp-s with MSVC 6.0 as well. They always seem to be missing the actual locations of files. Minor nuisance to fix, so i always forget to complain. :)

         
    • Vambola Kotkas

      Vambola Kotkas - 2007-11-20

      Sorry, just noticed that the compile.txt already describes how to fix the locations of files.

       
    • Craig Gunhouse

      Craig Gunhouse - 2007-11-20

      Sorry I haven't been around, I've been busy with other thing.  A couple of months back I pushed CB to PR529 from PR523 (the current Beta) but there are some bugs that I haven't been able to clean out because of the lack of time.  I've been the one doing the VC++ 2005 modifications and some of the problems that you have mention have been corrected in PR529.  I'll try to put PR529 on SF but some of the C++/CLI stuff is still not working correctly.

      Gunner

       
      • Anonymous

        Anonymous - 2007-11-21

        It's no problem that you did not have a chance to review this before I made the progress I did.

        As far as I am concerned, it is better to not rush getting PR523 out, as far as being careful is concerned.

        CLI sounds like a major modification. Obviously it is useful and important.

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.