Julien,

My employer, Kiyon Inc., kindly allowed me to compile
and submit a patch which allows wengo-classic to be
built under VC80 Express.

Please find in the attachment the following files
wengo-classic-4698-vc80.diff - the diff results agaist
wengo-classic revision 4698.
wengo-classic-4698-vc80.readme - additional caveats

Please let me know if there is any questions.

Regards,
Weiguang

--- Julien Gilli <[EMAIL PROTECTED]> wrote:

> Hello,
> 
> On 3/24/06, Weiguang Shi <[EMAIL PROTECTED]> wrote:
> >
> > These errors are caused by redefinition in
> WinInet.h.
> > Commenting out the definitions in get_net_conf.h
> > should work with the command line compilation.
> 
> 
> Thank you very much for this information.
> 
> I had to make two dozens of changes, some like this,
> > to build wengo-classic with VC++2005Express. But
> in
> > the end, I didn't have the time to figure out how
> to
> > have it run with a "manifest." Please let me know
> if
> > you get lucky.
> >
> 
> Could you please provide a patch so that we can
> commit it and others can
> contribute to Visual Studio 2005 support?
> 
> Regards,
> --
> Julien Gilli
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
diff -r wengo-classic-4698-vc80/1.0/gui/AboutWindow.cpp 
wengo-classic-4698/1.0/gui/AboutWindow.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/AudioCall.cpp 
wengo-classic-4698/1.0/gui/AudioCall.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/AudioCallEvent.cpp 
wengo-classic-4698/1.0/gui/AudioCallEvent.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/AudioCallManager.cpp 
wengo-classic-4698/1.0/gui/AudioCallManager.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/DialPadWidget.cpp 
wengo-classic-4698/1.0/gui/DialPadWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/HomePageWidget.cpp 
wengo-classic-4698/1.0/gui/HomePageWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/HomePageWidget_posix.cpp 
wengo-classic-4698/1.0/gui/HomePageWidget_posix.cpp
20d19
< 
36,38d34
< void HomePageWidget::goToSoftphoneWeb(bool Switch){
< }
< 
diff -r wengo-classic-4698-vc80/1.0/gui/HomePageWidget_posix.h 
wengo-classic-4698/1.0/gui/HomePageWidget_posix.h
43,47d42
<       /** 
<        * Set active page to the Self Care of the current user
<        */
<       void goToSoftphoneWeb(bool Switch);
< 
diff -r wengo-classic-4698-vc80/1.0/gui/MainWindow.cpp 
wengo-classic-4698/1.0/gui/MainWindow.cpp
20d19
< 
53d51
< #if defined (WIN32) && defined (QT_OPENSOURCE)
55d52
< #endif
134d130
< #if defined (WIN32) && defined (QT_OPENSOURCE)
137d132
< #endif
298d292
< #if defined (WIN32) && defined (QT_OPENSOURCE)
301d294
< #endif
428d420
< #if defined (WIN32) && defined (QT_OPENSOURCE)
430d421
< #endif
diff -r wengo-classic-4698-vc80/1.0/gui/MyWidgetFactory.h 
wengo-classic-4698/1.0/gui/MyWidgetFactory.h
61c61
< // #include "search/SearchPageWidgetForm.h"
---
> #include "search/SearchPageWidgetForm.h"
138,140c138,140
< // #ifdef WIN32
< //            if (uiFile == "SearchPageWidgetForm.ui") return new 
SearchPageWidgetForm(parent, name);
< // #endif
---
> #ifdef WIN32
>               if (uiFile == "SearchPageWidgetForm.ui") return new 
> SearchPageWidgetForm(parent, name);
> #endif
diff -r wengo-classic-4698-vc80/1.0/gui/PhoneComboBox.cpp 
wengo-classic-4698/1.0/gui/PhoneComboBox.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/PhonePageWidget.cpp 
wengo-classic-4698/1.0/gui/PhonePageWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/SConscript 
wengo-classic-4698/1.0/gui/SConscript
296c296,297
<         'HomePageWidgetForm_posix.ui'
---
>         'HomePageWidgetForm.ui',
>         'search/SearchPageWidgetForm.ui'
299c300,301
<         "HomePageWidget_posix.cpp",
---
>         "HomePageWidget.cpp",
>         "search/SearchPageWidget.cpp",
308c310
<                 "wininet", "urlmon", "shlwapi", "ole32",
---
>                 "wininet", "urlmon", "shlwapi", "qaxcontainer", "ole32",
diff -r wengo-classic-4698-vc80/1.0/gui/SessionWindow.cpp 
wengo-classic-4698/1.0/gui/SessionWindow.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/Softphone.cpp 
wengo-classic-4698/1.0/gui/Softphone.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/StatusBar.cpp 
wengo-classic-4698/1.0/gui/StatusBar.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/callhistory/CallHistory.cpp 
wengo-classic-4698/1.0/gui/callhistory/CallHistory.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/callhistory/CallHistoryWidget.cpp 
wengo-classic-4698/1.0/gui/callhistory/CallHistoryWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/callhistory/CallLog.cpp 
wengo-classic-4698/1.0/gui/callhistory/CallLog.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/chat/ChatPageWidget.cpp 
wengo-classic-4698/1.0/gui/chat/ChatPageWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/chat/EmoticonsWidget.cpp 
wengo-classic-4698/1.0/gui/chat/EmoticonsWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/AdvancedConfig.cpp 
wengo-classic-4698/1.0/gui/config/AdvancedConfig.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/AdvancedConfigWidget.cpp 
wengo-classic-4698/1.0/gui/config/AdvancedConfigWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/Audio.cpp 
wengo-classic-4698/1.0/gui/config/Audio.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/AudioWidget.cpp 
wengo-classic-4698/1.0/gui/config/AudioWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/Authentication.cpp 
wengo-classic-4698/1.0/gui/config/Authentication.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/Codec.cpp 
wengo-classic-4698/1.0/gui/config/Codec.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/CodecList.cpp 
wengo-classic-4698/1.0/gui/config/CodecList.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/CodecListWidget.cpp 
wengo-classic-4698/1.0/gui/config/CodecListWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/Config.cpp 
wengo-classic-4698/1.0/gui/config/Config.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/ConfigWindow.cpp 
wengo-classic-4698/1.0/gui/config/ConfigWindow.cpp
21d20
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/GeneralConfigWidget.cpp 
wengo-classic-4698/1.0/gui/config/GeneralConfigWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/LanguageWidget.cpp 
wengo-classic-4698/1.0/gui/config/LanguageWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/SipProfileWidget.cpp 
wengo-classic-4698/1.0/gui/config/SipProfileWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/StyleWidget.cpp 
wengo-classic-4698/1.0/gui/config/StyleWidget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/config/Video.cpp 
wengo-classic-4698/1.0/gui/config/Video.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/connect/Connect.cpp 
wengo-classic-4698/1.0/gui/connect/Connect.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/connect/PhoneCall.cpp 
wengo-classic-4698/1.0/gui/connect/PhoneCall.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/connect/PhoneLine.cpp 
wengo-classic-4698/1.0/gui/connect/PhoneLine.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/connect/Register.cpp 
wengo-classic-4698/1.0/gui/connect/Register.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/connect/SendUdpPacket.cpp 
wengo-classic-4698/1.0/gui/connect/SendUdpPacket.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/connect/SipInitialization.cpp 
wengo-classic-4698/1.0/gui/connect/SipInitialization.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/Database.cpp 
wengo-classic-4698/1.0/gui/database/Database.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/FileSource.cpp 
wengo-classic-4698/1.0/gui/database/FileSource.cpp
21d20
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/FileTarget.cpp 
wengo-classic-4698/1.0/gui/database/FileTarget.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/HttpSource.cpp 
wengo-classic-4698/1.0/gui/database/HttpSource.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/VCardReader.cpp 
wengo-classic-4698/1.0/gui/database/VCardReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/VCardWriter.cpp 
wengo-classic-4698/1.0/gui/database/VCardWriter.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlAuthReader.cpp 
wengo-classic-4698/1.0/gui/database/XmlAuthReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlAuthWriter.cpp 
wengo-classic-4698/1.0/gui/database/XmlAuthWriter.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlBuildIdReader.cpp 
wengo-classic-4698/1.0/gui/database/XmlBuildIdReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlCallHistoryReader.cpp 
wengo-classic-4698/1.0/gui/database/XmlCallHistoryReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlCallHistoryWriter.cpp 
wengo-classic-4698/1.0/gui/database/XmlCallHistoryWriter.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlConfigReader.cpp 
wengo-classic-4698/1.0/gui/database/XmlConfigReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlConfigWriter.cpp 
wengo-classic-4698/1.0/gui/database/XmlConfigWriter.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlUserReader.cpp 
wengo-classic-4698/1.0/gui/database/XmlUserReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/database/XmlUserWriter.cpp 
wengo-classic-4698/1.0/gui/database/XmlUserWriter.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/login/Login.cpp 
wengo-classic-4698/1.0/gui/login/Login.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/login/LoginWindow.cpp 
wengo-classic-4698/1.0/gui/login/LoginWindow.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/main.cpp 
wengo-classic-4698/1.0/gui/main.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/presence/Presence.cpp 
wengo-classic-4698/1.0/gui/presence/Presence.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/presence/PresencePopupMenu.cpp 
wengo-classic-4698/1.0/gui/presence/PresencePopupMenu.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/presence/PresenceStatus.cpp 
wengo-classic-4698/1.0/gui/presence/PresenceStatus.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/presence/WatcherList.cpp 
wengo-classic-4698/1.0/gui/presence/WatcherList.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/presence/XmlWatcherListReader.cpp 
wengo-classic-4698/1.0/gui/presence/XmlWatcherListReader.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sip/DialingSipState.cpp 
wengo-classic-4698/1.0/gui/sip/DialingSipState.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sip/InitSipState.cpp 
wengo-classic-4698/1.0/gui/sip/InitSipState.cpp
20,21d19
< 
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sip/InputCallSipState.cpp 
wengo-classic-4698/1.0/gui/sip/InputCallSipState.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sip/PhApiCallbacks.cpp 
wengo-classic-4698/1.0/gui/sip/PhApiCallbacks.cpp
20c20
< 
---
> #include "PhApiCallbacks.h"
39d38
< #include "PhApiCallbacks.h"
diff -r wengo-classic-4698-vc80/1.0/gui/sip/SipState.cpp 
wengo-classic-4698/1.0/gui/sip/SipState.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sip/WaitingSipState.cpp 
wengo-classic-4698/1.0/gui/sip/WaitingSipState.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sms/Sms.cpp 
wengo-classic-4698/1.0/gui/sms/Sms.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/sms/SmsPageWidget.cpp 
wengo-classic-4698/1.0/gui/sms/SmsPageWidget.cpp
20,21d19
< 
< 
diff -r wengo-classic-4698-vc80/1.0/gui/systray/Systray.cpp 
wengo-classic-4698/1.0/gui/systray/Systray.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/systray/SystrayPopupWindow.cpp 
wengo-classic-4698/1.0/gui/systray/SystrayPopupWindow.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/update/CheckUpdate.cpp 
wengo-classic-4698/1.0/gui/update/CheckUpdate.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/gui/update/Update.cpp 
wengo-classic-4698/1.0/gui/update/Update.cpp
20d19
< 
diff -r wengo-classic-4698-vc80/1.0/libs/curl/lib/config-win32.h 
wengo-classic-4698/1.0/libs/curl/lib/config-win32.h
33,35c33,35
< // #if !defined(ENABLE_IPV6) && ((_MSC_VER < 1300) || !defined(USE_SSLEAY))
< // #define socklen_t int
< // #endif
---
> #if !defined(ENABLE_IPV6) && ((_MSC_VER < 1300) || !defined(USE_SSLEAY))
> #define socklen_t int
> #endif
diff -r wengo-classic-4698-vc80/1.0/libs/util/src/MemoryDump.cpp 
wengo-classic-4698/1.0/libs/util/src/MemoryDump.cpp
23a24,26
> #include "MemoryDump.h"
> 
> #include <shlwapi.h>
30,31d32
< #include "MemoryDump.h"
< #include <shlwapi.h>
diff -r wengo-classic-4698-vc80/1.0/libs/util/src/WebBrowser.cpp 
wengo-classic-4698/1.0/libs/util/src/WebBrowser.cpp
24d23
< #include <ShellAPI.h>
diff -r wengo-classic-4698-vc80/1.0/wifo/trunk/netlib/get_net_conf.h 
wengo-classic-4698/1.0/wifo/trunk/netlib/get_net_conf.h
24,25d23
< /* commented out for VC++2005Express CMD compilation.
< 
45d42
< */
This accompanies the patch submitted to the Wengo developer's
mail-list. It outlines additional caveats building wengo-classic under
VC++8.0 Express.


1. The patched version only builds with video disabled, i.e.,

      scons.bat enable-video='no' softphone-runtime softphone



2. Change to VC80's xiosbase (Ugly, Yes. But, before a better way is
   found, you need to do this after patching and before building)

   Insert
                    #ifndef _SH_DENYNO // wgshi
                    #define _SH_DENYNO 0x14
                    #endif
   in      
         C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\xiosbase
   starting at line 104,
   


        I tried, before the first #include clause in many .cpp files
        under ./gui, to insert
        
              #if !defined (_SH_DENYNO) 
              #define _SH_DENYNO 0x40
              #endif
        
        but, first, there are too many files that need this and,
        second, some files, e.g., qmake_image_collection.cpp, are
        auto-generated
        
              C:\source\qt-3\bin\uic -embed project -f 
build-wengo\win32-debug\softphone\gui\wengophone_images.txt -o 
build-wengo\win32-debug\softphone\gui\qmake_image_collection.cpp 
        
        during building and it needs the definition of _SH_DENYNO too. 




3. It builds but doesn't run.

   To run wengophone.exe, there are a couple of DLLs that need to be
   found. This is trivial but, with VC80, MS introduces "manifest."
   The phone built with this patch and the modificaiton above won't
   run due to its inability of loading runtime libraries through a
   manifest.
_______________________________________________
Wengophone-devel mailing list
[email protected]
http://dev.openwengo.com/mailman/listinfo/wengophone-devel

Reply via email to