|
Модераторы: Daevaorn |
|
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
Более ранние версии студии при сборке данного проекта автоматически определяли зависимости.
Например, добавляли runtime library для проектов на c++. Текущая версия этого не делает. Попытка делать это руками тоже не помогла, т.к. приложение еще просит и msvcr120.dll. Не совсем понятно откуда сборка притянула библиотеки для msvc2013, если сам проект и сторонние библиотеки собирались под 2017. Попытка натравить depends не показала зависимостей от 2013. Если ставить runtime для 2013 и 2017 руками вроде помогла. Раз пошла такая пьянка, то решил добавить runtime и инсталлятор и запустить в тихом режиме с ключем /quiet. Установка вылетает с ошибкой. Так как правильно притянуть нужные runtime в пакет установки? И что принципиально поменялось в 2017? |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
||||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Нет, не SDK. В проекте на вкладке General -> Platform Toolset (в английской версии). Там стоит версия компилятора (у меня например в VS2015 стоит Visual Studio 2015 (v140)). Если проект взят из предыдущей версии VS, там будет стоять предыдущая версия компиляторов. Обычно VS при открытии таких проектов предлагает заапгрейдить версию, но может этого и не сделать.
Если на машине стояла предыдущая версия VS то проект соберется в новой VS с компиляторами от старой (если не поменять эту настройку). Если предыдущей VS не стояло, то проект не соберётся, а скорее всего потребует поменять версию тулсета (или поменяет сам) |
|||
|
||||
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
Везде руками поставил Visual Studio 2017 (v141). Не помогло. Похоже, что есть библиотеки, которые собирались с другим компилятором. Попытался проверить зависимости библиотек - вроде все чисто. Нет зависимостей от msvcr120.dll |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Киньте сюда файл солюшена и проектов, посмотрим ...
|
|||
|
||||
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
В архиве проекты.
В солюшине смущают строки
Переделывал действительно из 15 студии Присоединённый файл ( Кол-во скачиваний: 1 ) ___.zip 28,54 Kb |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
На чистой машине говорит, что приложение нельзя запустить, т.к. отсутствует msvcr120.dll
Добавлено через 3 минуты и 22 секунды И самое главное, почему автоматом не добавляются runtime библиотеки в зависимости проекта, как раньше |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
Машина была чистая. Qt ставил одну. Все библиотеки варил именно под нее. Правда, солюшен был из 15 студии. Но, даже если нужно msvcr120, то в зависимостях они бы появились. А так там вообще ничего нет. Не msvc ни qt. Если бы проект автоматом добавил бы msvcr120, ну и хрен с ним.
|
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Это библиотека runtime, она в любом случае не добавляется явно в зависимости, а приносится (в зависимости) от тулчеёна. Как она смогла протащиться от VS2015 к VS2017 загадка Они добавляются неявно. Qt добавляет свои либы в плагине, а msvc в выборе run time'а прямо на главной странице проекта. Могу только посоветовать пересоздать с нуля солюшен и проекты в VS2017 |
|||
|
||||
zss |
|
|||
Опытный Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
Я тоже уже об этом подумал. Нужно пересоздать попробовать...
|
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Кстати, если вы пробовали собирать проект, а потом меняли весрию toolchain'а, попробуйте сделать rebuild (что бы пересобрало гарантироованно всё, что есть). Могли застрять старые бинарники с кривыми ссылками (хотя это и маловероятно)
|
|||
|
||||
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |