Я обновляю все решение Visual Studio от wxWidgets-2.6.4 (A) до wxWidgets-3.0.2 (B). Существует проблема, потому что в некоторых проектах используется wxhttpengine-2.0 (Z), который не работает с версиями wxWidgets, новее чем 2.6.x. Чтобы упростить вопросы, я обозначил 3 статических библиотеки буквами A, B и Z. Итак, мое решение содержит A и Z, Z содержит части A, но я хочу использовать B вместо A, сохраняя Z, для того, чтобы для упрощения кода моего решения. Проблема в том, что просто это вызывает ошибку - LNK2005: уже определен в httpengine.lib - для wxWidgets.3.0.2 статических библиотек. Конфликтующие символы из A и B обнаруживаются компоновщиком, потому что Z построен поверх A.VC++ указать порядок библиотеки - ошибка LNK2005: уже определена
Общий вопрос: Как я могу обновить от A до B проекты, содержащие Z?
Конкретный вопрос: Можно ли указать в Visual Studio, что я хочу сначала связать с B, а затем с Z?
Вот ошибка выборки:
Error 1 error LNK2005: "public: class wxSize __thiscall wxWindowBase::GetBestSize(void)const " ([email protected]@@[email protected]@XZ) already defined in httpengined.lib(proxysettingsdlg.obj) PATH\wxmsw30ud_core.lib(hidden_filename.obj)
Спасибо за ответ. Идея заключалась в создании 1 большого исполняемого файла на основе статических библиотек. Я попытаюсь посмотреть, можно ли динамически связывать старые wxWidgets при использовании новой версии со статическими библиотеками. Кроме того, я подумал о том, чтобы обновить wxhttpengine, но хотел бы найти альтернативное решение, прежде чем делать это. – MatrixRonny