RESOLVED FIXED Bug 40038
Build fixes for VS Express 2005
https://bugs.webkit.org/show_bug.cgi?id=40038
Summary Build fixes for VS Express 2005
Tony Gentilcore
Reported 2010-06-01 19:26:33 PDT
Build fixes for VS Express 2005
Attachments
Patch (4.23 KB, patch)
2010-06-01 19:40 PDT, Tony Gentilcore
no flags
Patch (4.93 KB, patch)
2010-06-01 19:45 PDT, Tony Gentilcore
no flags
Patch (9.89 KB, patch)
2010-06-02 13:36 PDT, Tony Gentilcore
no flags
Patch (4.06 KB, patch)
2010-06-02 14:59 PDT, Tony Gentilcore
no flags
Tony Gentilcore
Comment 1 2010-06-01 19:40:10 PDT
Tony Gentilcore
Comment 2 2010-06-01 19:45:27 PDT
David Levin
Comment 3 2010-06-02 01:03:04 PDT
Comment on attachment 57616 [details] Patch Do you know why are these changes needed for VS Express 2005 (when other versions of VS compile the files fine)? Ideally the ChangeLog would tell me.
Adam Roben (:aroben)
Comment 4 2010-06-02 06:48:49 PDT
Comment on attachment 57616 [details] Patch > + * WebKitAPITest/WebKitAPITest.vcproj: Please make changes to WebKitAPITestCommon.vsprops instead of this file.
Tony Gentilcore
Comment 5 2010-06-02 13:36:45 PDT
Tony Gentilcore
Comment 6 2010-06-02 13:37:06 PDT
(In reply to comment #4) > (From update of attachment 57616 [details]) > > + * WebKitAPITest/WebKitAPITest.vcproj: > > Please make changes to WebKitAPITestCommon.vsprops instead of this file. Thanks. Fixed.
Tony Gentilcore
Comment 7 2010-06-02 13:42:41 PDT
(In reply to comment #3) > (From update of attachment 57616 [details]) > Do you know why are these changes needed for VS Express 2005 (when other versions of VS compile the files fine)? I don't know how it could link without these DLLs unless other versions of VS somehow have an additional mechanism by which the dependencies are inherited. Here is how I came about this patch... $ build-webkit WinLauncher/Release/BuildLog.htm: PrintWebUIDelegate.obj : error LNK2001: unresolved external symbol __imp__GetDeviceCaps@8 PrintWebUIDelegate.obj : error LNK2001: unresolved external symbol __imp__GetTextMetricsW@8 PrintWebUIDelegate.obj : error LNK2001: unresolved external symbol __imp__GetStockObject@4 PrintWebUIDelegate.obj : error LNK2001: unresolved external symbol __imp__SelectObject@8 PrintWebUIDelegate.obj : error LNK2001: unresolved external symbol __imp__MoveToEx@16 PrintWebUIDelegate.obj : error LNK2001: unresolved external symbol __imp__LineTo@12 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__PrintDlgW@4 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__SetAbortProc@8 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__StartDocW@8 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__StartPage@4 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__EndPage@4 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__EndDoc@4 WinLauncher.obj : error LNK2001: unresolved external symbol __imp__DeleteDC@4 *Add gdi32.lib* $ build-webkit WinLauncher/Release/BuildLog.htm: WinLauncher.obj : error LNK2001: unresolved external symbol __imp__PrintDlgW@4 *Add comdlg32.lib* $ build-webkit WebKitAPITest/Debug/BuildLog.htm: HostWindow.obj : error LNK2019: unresolved external symbol __imp__CreateWindowExW@48 referenced in function "public: bool __thiscall WebKitAPITest::HostWindow::initialize(void)" (?initialize@HostWindow@WebKitAPITest@@QAE_NXZ) TestsController.obj : error LNK2001: unresolved external symbol __imp__CreateWindowExW@48 HostWindow.obj : error LNK2019: unresolved external symbol __imp__DestroyWindow@4 referenced in function "public: __thiscall WebKitAPITest::HostWindow::~HostWindow(void)" (??1HostWindow@WebKitAPITest@@QAE@XZ) WebViewDestruction.obj : error LNK2001: unresolved external symbol __imp__DestroyWindow@4 HostWindow.obj : error LNK2019: unresolved external symbol __imp__IsWindow@4 referenced in function "public: __thiscall WebKitAPITest::HostWindow::~HostWindow(void)" (??1HostWindow@WebKitAPITest@@QAE@XZ) WebViewDestruction.obj : error LNK2001: unresolved external symbol __imp__IsWindow@4 HostWindow.obj : error LNK2019: unresolved external symbol __imp__GetClientRect@8 referenced in function "public: struct tagRECT __thiscall WebKitAPITest::HostWindow::clientRect(void)const " (?clientRect@HostWindow@WebKitAPITest@@QBE?AUtagRECT@@XZ) HostWindow.obj : error LNK2019: unresolved external symbol __imp__RegisterClassExW@4 referenced in function "private: static void __cdecl WebKitAPITest::HostWindow::registerWindowClass(void)" (?registerWindowClass@HostWindow@WebKitAPITest@@CAXXZ) TestsController.obj : error LNK2001: unresolved external symbol __imp__RegisterClassExW@4 HostWindow.obj : error LNK2019: unresolved external symbol __imp__LoadCursorW@8 referenced in function "private: static void __cdecl WebKitAPITest::HostWindow::registerWindowClass(void)" (?registerWindowClass@HostWindow@WebKitAPITest@@CAXXZ) TestsController.obj : error LNK2001: unresolved external symbol __imp__LoadCursorW@8 HostWindow.obj : error LNK2019: unresolved external symbol __imp__DefWindowProcW@16 referenced in function "private: static long __stdcall WebKitAPITest::HostWindow::wndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?wndProc@HostWindow@WebKitAPITest@@CGJPAUHWND__@@IIJ@Z) TestsController.obj : error LNK2001: unresolved external symbol __imp__DefWindowProcW@16 main.obj : error LNK2019: unresolved external symbol __imp__OleInitialize@4 referenced in function _main TestsController.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageW@4 referenced in function "public: bool __thiscall WebKitAPITest::TestsController::runAllTests(void)" (?runAllTests@TestsController@WebKitAPITest@@QAE_NXZ) WebViewDestruction.obj : error LNK2001: unresolved external symbol __imp__DispatchMessageW@4 TestsController.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function "public: bool __thiscall WebKitAPITest::TestsController::runAllTests(void)" (?runAllTests@TestsController@WebKitAPITest@@QAE_NXZ) WebViewDestruction.obj : error LNK2001: unresolved external symbol __imp__TranslateMessage@4 TestsController.obj : error LNK2019: unresolved external symbol __imp__GetMessageW@16 referenced in function "public: bool __thiscall WebKitAPITest::TestsController::runAllTests(void)" (?runAllTests@TestsController@WebKitAPITest@@QAE_NXZ) TestsController.obj : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function "private: void __thiscall WebKitAPITest::TestsController::runNextTest(void)" (?runNextTest@TestsController@WebKitAPITest@@AAEXXZ) TestsController.obj : error LNK2019: unresolved external symbol __imp__SetTimer@16 referenced in function "private: void __thiscall WebKitAPITest::TestsController::runNextTestSoon(void)" (?runNextTestSoon@TestsController@WebKitAPITest@@AAEXXZ) TestsController.obj : error LNK2019: unresolved external symbol __imp__KillTimer@8 referenced in function "private: static long __stdcall WebKitAPITest::TestsController::wndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?wndProc@TestsController@WebKitAPITest@@CGJPAUHWND__@@IIJ@Z) WebViewDestruction.obj : error LNK2019: unresolved external symbol __imp__PeekMessageW@20 referenced in function "void __cdecl WebKitAPITest::runMessagePump(unsigned long)" (?runMessagePump@WebKitAPITest@@YAXK@Z) *Add user32.lib* $ build-webkit WebKitAPITest/Debug/BuildLog.htm: main.obj : error LNK2019: unresolved external symbol __imp__OleInitialize@4 referenced in function _main *Add ole32.lib* $ build-webkit *WebKit is now built* > > Ideally the ChangeLog would tell me. I updated the ChangeLog to include the linker errors. Please let me know if it is too verbose or if you'd like to see any other tweaks.
Adam Roben (:aroben)
Comment 8 2010-06-02 14:39:35 PDT
Comment on attachment 57695 [details] Patch I think the ChangeLog should just say something like "Visual Studio implicitly links against these libs. VC++ Express does not." r=me, but please do remove all those linker errors from the ChangeLog.
Tony Gentilcore
Comment 9 2010-06-02 14:59:56 PDT
Tony Gentilcore
Comment 10 2010-06-02 15:00:49 PDT
(In reply to comment #8) > (From update of attachment 57695 [details]) > I think the ChangeLog should just say something like "Visual Studio implicitly links against these libs. VC++ Express does not." > > r=me, but please do remove all those linker errors from the ChangeLog. Thanks. Done :-)
Daniel Bates
Comment 11 2010-06-02 15:01:38 PDT
Tony, I haven't compiled with VCExpress for some time so maybe this is a new issue, but I was able to compile with VCExpress before without a problem. I have a VM image with VCExpress and will try to compile with/without your patch tonight. Out of curiosity, did you follow the steps on http://webkit.org/building/tools.html, in particular with step 3 in http://msdn.microsoft.com/en-us/library/ms235626(VS.80).aspx?
Tony Gentilcore
Comment 12 2010-06-02 15:11:32 PDT
(In reply to comment #11) > Tony, I haven't compiled with VCExpress for some time so maybe this is a new issue, but I was able to compile with VCExpress before without a problem. I have a VM image with VCExpress and will try to compile with/without your patch tonight. > > Out of curiosity, did you follow the steps on http://webkit.org/building/tools.html, in particular with step 3 in http://msdn.microsoft.com/en-us/library/ms235626(VS.80).aspx? Yes, I followed those instructions and installed all service packs. However, my environment may not be completely typical... I use Visual Studio 2008 for all of my development on chromium/webkit. Everything works great there, no problems. However, when I went to use the build-webkit/run-webkit-tests scripts, they wouldn't recognize VS2008, so I installed VSExpress 2005 along side it (following the above instructions). With https://bugs.webkit.org/show_bug.cgi?id=39296 and this patch, I was able to get build-webkit/run-webkit-tests working. So I thought it would be useful to contribute this up for others. If you think it will be useful, I'd be interested in modifying build-webkit to use Visual Studio 2008 if available (gracefully falling back to other version). Thoughts?
WebKit Commit Bot
Comment 13 2010-06-03 23:09:29 PDT
Comment on attachment 57706 [details] Patch Clearing flags on attachment: 57706 Committed r60656: <http://trac.webkit.org/changeset/60656>
WebKit Commit Bot
Comment 14 2010-06-03 23:09:34 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.