Совместимость библиотек Visual Studio 19-17 в соответствии с флагом GL - PullRequest
1 голос
/ 24 января 2020

У меня довольно большое решение C ++ в VS2010, и я собираюсь обновить его либо до VS2017, либо до VS2019 (предпочтительнее 2019) (Совершенно очевидно, что мне нужно перестроить все сторонние устройства и т. Д. c.) Кроме того, у меня есть решение C ++ для VS2017, которое не будет обновлено до VS2019, и есть вероятность, что я включу динамические c библиотеки (что означает .h + .lib + .dll) из этого sln в основной слн. Некоторая часть проектов в обоих решениях использует флаг / GL, поэтому я боюсь: не будет ли проблем? Например:

  1. VS2019 с / GL относится к VS2017 .dll + .h + .lib, созданной без / GL
  2. VS2019 без / GL относится к VS2017 .dll + .h + .lib, созданный с / GL
  3. VS2019 с / GL, ссылается на VS2017 .dll + .h + .lib, созданный с / GL

По идее, он должен работать нормально, но Я не уверен на 100%. У кого-нибудь был такой опыт?

1 Ответ

2 голосов
/ 24 января 2020

Оптимизация всей программы не влияет на ABI библиотек. «Программа» относится к DLL или исполняемым файлам здесь. Оптимизация за границы dll не производится.

Вы должны убедиться, что все библиотеки stati c созданы с одинаковым флагом, иначе оптимизация всей программы не будет работать, в этом случае компилятор выдает предупреждение.

...