[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-i18n-doc
Subject: [Differential] [Accepted] D4795: Correctly load the Qt-native translations
From: Josef Weidendorfer <noreply () phabricator ! kde ! org>
Date: 2017-02-27 21:11:25
Message-ID: 20170227211125.92606.54334.C71BCF17 () phabricator ! kde ! org
[Download RAW message or body]
weidendo accepted this revision.
weidendo added a comment.
This revision is now accepted and ready to land.
> the things I'd like to more is whether my guess about Q_COREAPP_STARTUP_FUNCTION is correct
As far as I see, the Q_COREAPP_STARTUP_FUNCTION macro uses the Q_CONSTRUCTOR_FUNCTION macro.
According to https://wiki.qt.io/QtResources (Q_CONSTRUCTOR_FUNCTION uses the "constructor \
function trick"):
> The constructor function trick works only if the generated C++ file is compiled and linked \
to the main application directly. If the resources are used in a static library and the library \
is then linked to the main application, the constructor function will never get called. This is \
the by nature of C/C++ linking- functions and variables in libraries that are unused/uncalled \
from the final program are removed from the final binary (optimized out). If the resources are \
in a shared library, then the constructor function does get invoked.
So your guess is correct.
REPOSITORY
R49 KCacheGrind
BRANCH
master
REVISION DETAIL
https://phabricator.kde.org/D4795
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: ltoscano, #localization, weidendo
Cc: weidendo, aacid, #localization
[Attachment #3 (text/html)]
<table><tr><td style="">weidendo accepted this revision.<br />weidendo added a comment.<br \
/>This revision is now accepted and ready to land. </td><a style="text-decoration: none; \
padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; \
border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to \
bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" \
href="https://phabricator.kde.org/D4795" rel="noreferrer">View Revision</a></tr></table><br \
/><div><div><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: \
italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>the things \
I'd like to more is whether my guess about Q_COREAPP_STARTUP_FUNCTION is \
correct</p></blockquote>
<p>As far as I see, the Q_COREAPP_STARTUP_FUNCTION macro uses the Q_CONSTRUCTOR_FUNCTION \
macro.<br /> According to <a href="https://wiki.qt.io/QtResources" class="remarkup-link" \
target="_blank" rel="noreferrer">https://wiki.qt.io/QtResources</a> (Q_CONSTRUCTOR_FUNCTION \
uses the "constructor function trick"):</p>
<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: \
4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>The constructor function trick \
works only if the generated C++ file is compiled and linked to the main application directly. \
If the resources are used in a static library and the library is then linked to the main \
application, the constructor function will never get called. This is the by nature of C/C++ \
linking- functions and variables in libraries that are unused/uncalled from the final program \
are removed from the final binary (optimized out). If the resources are in a shared library, \
then the constructor function does get invoked.</p></blockquote>
<p>So your guess is correct.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R49 \
KCacheGrind</div></div></div><br \
/><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION \
DETAIL</strong><div><a href="https://phabricator.kde.org/D4795" \
rel="noreferrer">https://phabricator.kde.org/D4795</a></div></div><br /><div><strong>EMAIL \
PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" \
rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br \
/><div><strong>To: </strong>ltoscano, Localization, weidendo<br /><strong>Cc: \
</strong>weidendo, aacid, Localization<br /></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic