2015-12-14 7 views
1

Qt Creator + VC19 (MSVC2015) + WinSDK8.1 Сам Qt не используется. Просто консольное приложение std + boost + catch + easyloggingppqmake: как удалить зависимость абсолютных путей?

VC \ bin и WinSDK \ bin оба находятся в переменной пути к системе. все включает в себя и пути lib, настроенные в файле pro.

Мне нужно переместить их из файла проекта, чтобы создать этот проект на разных машинах (все окна, но разные места использования библиотек).

Я думаю, что cl.exe может прочитать это из переменных LIB и INCLUDE env, но если я это сделаю (задайте пути заголовков и библиотек из файла bat или в настройках проекта в QT Creator), это не сработает, QtC сообщает мне, что не могу найти заголовки. Не могли бы вы разъяснить мне:

  1. Должен ли Qt Creator прочитать LIB и переменные для сборки и разбора? Каковы правильные шаги, чтобы заставить его работать?
  2. Если Qt Creator не может читать переменные env, то каков правильный способ удалить зависимость абсолютных путей в сборке проекта с помощью qmake?
+0

Остерегайтесь следующего поведения qmake (свидетелем в Linux, не уверен, что это происходит в Windows): * qmake анализирует переменные окружения, а затем записывает значения в созданные им файлы make *. Итак, как только вы создаете make-файлы, если вы измените переменную среды, вы должны сделать qmake повторно сгенерируйте make-файлы, чтобы обновить их. – Steve

ответ

1

У вас, очевидно, есть компилятор Visual Studio и другие стандартные пути библиотек, жестко закодированные как абсолютные в вашем файле проекта?

Все Visual Studio или другие параметры компилятора, например. расположение цепочки инструментов обычно считывается Qt Creator из набора компиляторов. Adding Compilers статья разъясняет это. Это первое, что нужно настроить, если ваша система установлена ​​Visual Studio. После настройки набора компиляторов вы сможете добавить его в свою текущую сборку проекта: Configuring Projects.

И в случае, если вы строите из командной строки с QMAKE и ЛОМ: ваш сценарий сборки может выполнить стандартную среду пакетный файл сценария Visual Studio, как:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VcVarsAll.bat" amd64 

Ума целевой разрядности (32/64) и фактическое местоположение вашей Visual Studio. Для этого есть статья MSDN: Setting the Path and Environment Variables for Command-Line Builds.

+0

Вы правы, жестко закодированные абсолютные пути в .pro-файле. И да, я пытался использовать конфигурацию .bar, а не оригинальную версию, но поправку для наших целей на основе оригинальной версии от VC kit. и этот (или оригинал от VC kit не работает для меня - Qt Creator показывает мне ошибки в отношении отсутствующих файлов (из этих путей) – amigo421

+0

Итак, вы вносили изменения, как было предложено и до сих пор получаете ошибки? Какие ошибки, в точности? – AlexanderVX

+0

sorry , это была моя невнимательность, LIB и INCLUDE содержат «» (цитаты) для «... программных файлов ...» - как пути. Без кавычек это отлично работает. – amigo421