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