سؤال
أنا أستخدم Qmake لبناء مشروع لي. لقد كنت أحاول تعيين متغير Destir من Qmake بقيمة تعتمد على المترجم المستخدم. في الواقع ، أريد أن يتم وضع ثنائي مشروعي ، بعد بناء ، في دليل له اسم المترجم المستخدم لبناءه.
شيء من هذا القبيل ... شجرة الدليل الحالية لمشروعي
- Project | - src | - include | - bin | |- binary_file
أردت أن يكون هكذا
- Project | - src | - include | - bin | | - gcc-4.3.4 | | |- binary_file
هل يمكنني القيام بذلك باستخدام Qmake؟
المحلول
في ملف SRC/SRC.Pro ، أو أينما قمت بتعيين Destdir
# compiler used
QMAKE_CXX = g++-4.3
# PROJECT_ROOT defined in .qmake.cache as $$PWD, in the Project root directory
DESTDIR = $$PROJECT_ROOT/bin/$$QMAKE_CXX/
إذا كنت لا ترغب في تعيين إصدار المترجم ، فيمكنك الاستعلام عنه بشكل ديناميكي. لا أعرف ما إذا كان هناك أي حل عام C ++/Qmake لذلك ، ولكن مع G ++ يمكنك استخدام -Dumpversion:
CXX_VERSION = $$system($$QMAKE_CXX -dumpversion)
DESTDIR=$$PROJECT_ROOT/bin/$$QMAKE_CXX-$$CXX_VERSION/
لا تنتمي إلى StackOverflow