Qt+QMake: как задать настройки компиляции для конкретного файла?
Хочу определённые функции программы закрыть VMProtect, но в программе используется LTO, и в схему сборки (*.map) попадают не все.
Хочу в отдельном CPP-файле отключить LTO.
Используется Qt, система сборки QMake.
Все настройки в "инструменты" - там "параметры" - и смотрите по вкладкам.
У меня Qt Creator 4.2.0 (4.2.0)
Основан на Qt 5.7.1 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64 бита)
Во-первых, это настройки ВСЕЙ ПРОГРАММЫ — а мне надо прицепить их к одному CPP-файлу в одном проекте.
Во-вторых, я проверил статическую библиотеку — не сработало, не линкуется. Не знаю, кто виноват — пространства имён или LTO.
Mercury13, слушайте, попробуйте всю свою кухню собрать просто в консоли (минуя монстра QT). Тогда сможете каждый файл легко отдельно откомпилировать в составе проекта(после его первой сборки, дай Бог...). Посмотрите как пойдет. И с библиотеками ясность придет.Может станет ясно, в чем траблы - тогда уже на IDE снова перейдете.
Александр, Выпуск идёт в консоли. 1) собственная утилита, проверяющая предкомпилированные заголовки; 2) QMAKE; 3) JOM (восемь виртуальных ядер собирают двести CPP-файлов очень быстро, самый страшный шаг — линковка). Видимо, между 2 и 3 придётся вклинить дополнительный шаг — на него гарантированно не дадут времени.
Пробовал ещё сделать через #pragma — не смог разобраться, в документации GCC сепульки.
Александр, Ну и 4) перенос схемы сборки в другой каталог; 5) установка защиты от копирования; 6) подписывание EXE-файла; 7) копирование в дропбокс для тестеров и дропбокс для инженера по выпуску.