realXtend / tundra

realXtend Tundra SDK, a 3D virtual world application platform.
www.realxtend.org
Apache License 2.0
84 stars 70 forks source link

Qt release/debug build fails if one mode already built #708

Closed jonnenauha closed 11 years ago

jonnenauha commented 11 years ago

Problem

If you build deps with BuildDeps_Release.cmd or BuildDeps_RelWithDebInfo.cmd and after that with BuildDeps_Debug.cmd Qt build fails on to link against jscore.lib in the 3rd party WebKit code. The same happens if you do the reverse, build debug first then release.

This happens both on VC9 and VC10, haven't tried x64 yet but I suspect also there.

Fix

Fix is to remove qt\qt-src-4.8.5\src\3rdparty\webkit\Source\WebKit.sln before building the other mode. We could add simple check to the batch script if that file exists to delete it, it is not present on the first build as its generated from the Qt .pro file. On the second build it would be there and be removed. Sequential builds on either mode wont trigger a Qt rebuild so all should be golden.

Stinkfist0 commented 11 years ago

I thought I fixed this already: first here https://github.com/Adminotech/tundra/commit/2fd343c7ad5172204e0b368ade1ccf7e2a388712 and then more thoroughly https://github.com/Adminotech/tundra/commit/edde9cbf360f945e0a644b0e33e320e6295a6f10 I tested with VC10 and seemed to work ok.

Are you sure this problem still occurs?

cadaver commented 11 years ago

Removing the .sln file was removed from the latest BuildDeps.cmd revision, does this make a difference? It did not work right out of the box for me, but rerunning the build script allowed it to compile successfully.

jonnenauha commented 11 years ago

@Stinkfist0 Did you test with the latest Qt 4.8.5? We ran with Matias, me on VC9 and Matias on VC10 and we both got the bug. I would put the delete logic back in...

Stinkfist0 commented 11 years ago

@jonnenauha Yes, with 4.8.5. I'm testing also now at my home box how it goes as we speak.

Stinkfist0 commented 11 years ago

Ok, it failed. I'm adding back the line I deleted when making the "more thorough" fix which seemed to resolve the issue at that time.