Russian Qt Forum
Ноябрь 22, 2024, 07:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование библиотек, скомпилированных разными версиями MSVS  (Прочитано 10473 раз)
Naihil
Новичок

Offline Offline

Сообщений: 23


Просмотр профиля
« : Июль 05, 2015, 14:52 »

Здравствуйте!
Вопрос наверно банальный, но всё же  Улыбающийся
В проекте использую пачку библиотек, скомпилированных в MSVS 2010, сам проект пока тоже компилирую 2010 студией, но хочется уже перейти на более новую студию. Попробовал скомпилировать проект 2013 студией, вроде всё нормально работает, но закрались сомнения в правильности такого подхода, отсюда и вопрос:
Можно ли брать библиотеки, скомпилированные 2010 студией и использовать их в проекте 2013 студии? Не будет ли каких-то проблем из-за разных рантаймов?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Июль 05, 2015, 15:13 »

Здравствуйте!
Вопрос наверно банальный, но всё же  Улыбающийся
В проекте использую пачку библиотек, скомпилированных в MSVS 2010, сам проект пока тоже компилирую 2010 студией, но хочется уже перейти на более новую студию. Попробовал скомпилировать проект 2013 студией, вроде всё нормально работает, но закрались сомнения в правильности такого подхода, отсюда и вопрос:
Можно ли брать библиотеки, скомпилированные 2010 студией и использовать их в проекте 2013 студии? Не будет ли каких-то проблем из-за разных рантаймов?


Тут главное компиляторы -- проект и библиотеки должны быть собраны одним компилятором
Записан

Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Июль 06, 2015, 07:35 »

Можно ли брать библиотеки, скомпилированные 2010 студией и использовать их в проекте 2013 студии? Не будет ли каких-то проблем из-за разных рантаймов?
Практически проблемы гарантированы, поэтому чем раньше все будет на новом компиляторе - тем лучше. Пока можно использовать "toolchain" - эта опция позволяет компилить код как для предыдущих MSVC версий.

Тут главное компиляторы -- проект и библиотеки должны быть собраны одним компилятором
Это повторяется как непреложная истина - но это не всегда так. Просто такое решение четкое и однозначное. "так будет работать железно".
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Июль 06, 2015, 08:13 »

Тут главное компиляторы -- проект и библиотеки должны быть собраны одним компилятором
Это повторяется как непреложная истина - но это не всегда так. Просто такое решение четкое и однозначное. "так будет работать железно".

Пока я не встретил других вариантов Улыбающийся
Записан

kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #4 : Июль 06, 2015, 10:38 »

Я вот, к примеру, использую библиотеки (с сишным интерфейсом), собранные хз какой студией для 2013 студии и все работает как часы.
Если библиотеки экспортируют сишные функции то проблем быть не должно.. Если - же классы - то как получится, ЕМНИП. Улыбающийся

Записан

ArchLinux x86_64 / Win10 64 bit
Naihil
Новичок

Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #5 : Июль 06, 2015, 12:25 »

Нашёл вот такую статейку, в которой всё более-менее расписано: http://siomsystems.com/mixing-visual-studio-versions/

Практически проблемы гарантированы, поэтому чем раньше все будет на новом компиляторе - тем лучше. Пока можно использовать "toolchain" - эта опция позволяет компилить код как для предыдущих MSVC версий.
Проблемы как раз с перекомпиляцией - не все гнутые библиотеки предоставляют простой способ скомпилировать себя в новой студии, а новая студия очень редко может импортировать проект старой студии  Грустный
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Июль 06, 2015, 12:43 »

Нашёл вот такую статейку, в которой всё более-менее расписано: http://siomsystems.com/mixing-visual-studio-versions/
Неужели Вы ее дочитали до конца?  Улыбающийся

Проблемы как раз с перекомпиляцией - не все гнутые библиотеки предоставляют простой способ скомпилировать себя в новой студии,
Ну значит у Вас прекрасная возможность оспорить известный тезис "только тем же компилем!". 

...а новая студия очень редко может импортировать проект старой студии  Грустный
Переходил с шестой на 2008 а потом на 2012 - пока ни разу не столкнулся с "отказом импорта"
Записан
Naihil
Новичок

Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #7 : Июль 06, 2015, 15:22 »

Неужели Вы ее дочитали до конца?  Улыбающийся
Вы не поверите - дочитал. И даже кое-что для себя уяснил не на уровне "все говорят, что это плохо, значит это плохо", а почему именно плохо и чем оно грозит. Подмигивающий

...а новая студия очень редко может импортировать проект старой студии  Грустный
Переходил с шестой на 2008 а потом на 2012 - пока ни разу не столкнулся с "отказом импорта"
Проекты разные бывают, зависимости тоже. Сейчас уже не скажу, с чем именно возникали проблемы импорта, но на вскидку последние версии libiconv визуал студией не собрать без танцев с бубном. Это, конечно, не проблема визуал студии, и не проблема libiconv, да и вообще к теме не относится.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.131 секунд. Запросов: 23.