Russian Qt Forum

Компиляторы и платформы => Windows => Тема начата: Naihil от Июль 05, 2015, 14:52



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


Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: gil9red от Июль 05, 2015, 15:13
Здравствуйте!
Вопрос наверно банальный, но всё же  :)
В проекте использую пачку библиотек, скомпилированных в MSVS 2010, сам проект пока тоже компилирую 2010 студией, но хочется уже перейти на более новую студию. Попробовал скомпилировать проект 2013 студией, вроде всё нормально работает, но закрались сомнения в правильности такого подхода, отсюда и вопрос:
Можно ли брать библиотеки, скомпилированные 2010 студией и использовать их в проекте 2013 студии? Не будет ли каких-то проблем из-за разных рантаймов?


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


Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: Igors от Июль 06, 2015, 07:35
Можно ли брать библиотеки, скомпилированные 2010 студией и использовать их в проекте 2013 студии? Не будет ли каких-то проблем из-за разных рантаймов?
Практически проблемы гарантированы, поэтому чем раньше все будет на новом компиляторе - тем лучше. Пока можно использовать "toolchain" - эта опция позволяет компилить код как для предыдущих MSVC версий.

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


Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: gil9red от Июль 06, 2015, 08:13
Тут главное компиляторы -- проект и библиотеки должны быть собраны одним компилятором
Это повторяется как непреложная истина - но это не всегда так. Просто такое решение четкое и однозначное. "так будет работать железно".

Пока я не встретил других вариантов :)


Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: kuzulis от Июль 06, 2015, 10:38
Я вот, к примеру, использую библиотеки (с сишным интерфейсом), собранные хз какой студией для 2013 студии и все работает как часы.
Если библиотеки экспортируют сишные функции то проблем быть не должно.. Если - же классы - то как получится, ЕМНИП. :)



Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: Naihil от Июль 06, 2015, 12:25
Нашёл вот такую статейку, в которой всё более-менее расписано: http://siomsystems.com/mixing-visual-studio-versions/

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


Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: Igors от Июль 06, 2015, 12:43
Нашёл вот такую статейку, в которой всё более-менее расписано: http://siomsystems.com/mixing-visual-studio-versions/
Неужели Вы ее дочитали до конца?  :)

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

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


Название: Re: Использование библиотек, скомпилированных разными версиями MSVS
Отправлено: Naihil от Июль 06, 2015, 15:22
Неужели Вы ее дочитали до конца?  :)
Вы не поверите - дочитал. И даже кое-что для себя уяснил не на уровне "все говорят, что это плохо, значит это плохо", а почему именно плохо и чем оно грозит. ;)

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