Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling qt reports only unsupported #27

Open
TheOneRing opened this issue Jun 23, 2016 · 7 comments
Open

Compiling qt reports only unsupported #27

TheOneRing opened this issue Jun 23, 2016 · 7 comments

Comments

@TheOneRing
Copy link

CCLASH_TRACKER_MODE=yes
And configure called with -no-pch

Using cmake with a Qt based project also results only in unsupported.

Would be great to be able to use cclash with Qt.

@inorton
Copy link
Owner

inorton commented Jun 24, 2016

can you give me an example of one whole command line?

@TheOneRing
Copy link
Author

[36/203] R:\bin\cl.exe /nologo /TP -DLIBSNORE_PLUGIN_PATH=\"r:/plugins/libsnore-qt5\" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_QSTRINGBUILDER -DSNORE_SUFFIX=\"-qt5\" -DUNICODE -DWIN32_LEAN_AND_MEAN -DWINVER=0x0600 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D_USE_MATH_DEFINES -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0600 -Dlibsnore_EXPORTS -Isrc\libsnore -IQ:\snorenotify\src\libsnore -IQ:\snorenotify\src -Isrc -IR:\include\qt5 -IR:\include\qt5\QtCore -IR:\.\mkspecs\win32-msvc2015 -IR:\include\qt5\QtGui -IR:\include\qt5\QtNetwork /DWIN32 /D_WINDOWS /W3 /GR /EHsc /wd4250 /wd4251 /wd4396 /wd4661 /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /Fosrc\libsnore\CMakeFiles\libsnore.dir\plugins\plugincontainer.cpp.obj /Fdsrc\libsnore\CMakeFiles\libsnore.dir\ /FS -c Q:\snorenotify\src\libsnore\plugins\plugincontainer.cpp

But I guess the easiest way to test it is to download qt and to try to build an example application

@inorton
Copy link
Owner

inorton commented Jun 27, 2016

Many thanks. There are quite a few flags there I don't recognise

@inorton
Copy link
Owner

inorton commented Jun 27, 2016

Can you try setting CCLASH_Z7_OBJ=yes in your environment? cclash can't currently cache builds that use PDB files (especially those with implicit names)

@TheOneRing
Copy link
Author

Ouch I confused the completely unrelated CCLASH_TRACKER_MODE=yes with CCLASH_Z7_OBJ=yes .
It really looks like it works with cmake and qt. Bootstrapping of qtbase won't work out of the box as it expects a pdb and tries to delete it.

Using ninja (multijob build tool) with cmake killed the cclash server.

@inorton
Copy link
Owner

inorton commented Jun 29, 2016

Aha I shal investigate!

You might have more luck with tracker mode turned off. It's quite a new
feature and is actually slower than normal direct mode.
On 28 Jun 2016 14:32, "Hannah von Reth" [email protected] wrote:

Ouch I confused the completely unrelated CCLASH_TRACKER_MODE=yes with
CCLASH_Z7_OBJ=yes .
It really looks like it works with cmake and qt. Bootstrapping of qtbase
won't work out of the box as it expects a pdb and tries to delete it.

Using ninja (multijob build tool) with cmake killed the cclash server.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#27 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AADmGnq-4p-O_kv827AOj0q-UaI1bp3sks5qQSKHgaJpZM4I8hKZ
.

@inorton
Copy link
Owner

inorton commented Sep 6, 2016

On further investigation caching with PDBs is quite problematic, infact I'm suprised anything other than a concurrent msbuild being able to cope with it as mspdbsrv will create or update PDB files often considerably later after the compiler has exited and built a file. This can be very hard to monitor. Eg

  • compile file with pdb
  • compiler exits, object created, pdb missing
  • pdb appears

This can get very wierd if the monent the compiler exits we compile another file that will contribute to the same pdb. If the pdb exists then there are two possible states it can be in before compiling the second file depending on how long we wait..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants