Форум » GUI » Переход с BCC на MSVC » Ответить

Переход с BCC на MSVC

Andrey: Что то перестал собираться ехе-ник Tsb_composite под MSVC Собираю VC2017 по ссылке, которую Григорий давал. Выдаёт ошибки: [pre2]hbmk2: Compiling resources... Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385 Copyright (C) Microsoft Corporation. All rights reserved. hbmk2: Linking... Tsb_composite-vc17.exe minigui.lib(h_windows.obj) : error LNK2005: _HB_FUN_MSGDEBUG already defined in util_Alert.obj minigui.lib(h_msgbox.obj) : error LNK2005: _HB_FUN_MSGYESNO already defined in util_Alert.obj minigui.lib(h_msgbox.obj) : error LNK2005: _HB_FUN_MSGEXCLAMATION already defined in util_Alert.obj minigui.lib(h_msgbox.obj) : error LNK2005: _HB_FUN_MSGINFO already defined in util_Alert.obj minigui.lib(h_msgbox.obj) : error LNK2005: _HB_FUN_MSGSTOP already defined in util_Alert.obj minigui.lib(h_menu.obj) : error LNK2005: _HB_FUN__SHOWCONTEXTMENU already defined in Form_SelLang.obj Tsb_composite-vc17.exe : fatal error LNK1169: one or more multiply defined symbols found hbmk2[Tsb_composite-vc17]: Error: Running linker. 1169[/pre2] Почему не собирается, раньше же собирался ? Да и функции из minigui.lib хочу заменить на свои (просто для пробы)... Собирал последним minigui-vc19.zip от 19.10 Update2 Кстати там внутри архива нет файла version.txt

Ответов - 5

gfilatov2002: Andrey пишет: функции из minigui.lib хочу заменить на свои (просто для пробы) Для этого надо добавить конфиг-файл Tsb_composite.hbc со следующей строкой: [pre2]ldflags=/force:multiple[/pre2] и закомментировать в файле Tsb_composite.hbp подключение ресурсного файла: [pre2]# project Resources #Tsb_composite.rc [/pre2] Bat-файл для сборки такой: call ..\..\buildapp.bat Tsb_composite.hbp Tsb_composite.hbc Протокол сборки ниже: [pre2]hbmk2[Tsb_composite]: Warning: Dangerous low-level option not recommended: 'ldflags=/force:multiple' in Tsb_composite.hbc:1 hbmk2: Compiling resources... Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384 Copyright (C) Microsoft Corporation. All rights reserved. hbmk2: Linking... Tsb_composite.exe minigui.lib(h_windows.obj) : warning LNK4006: _HB_FUN_MSGDEBUG already defined in util_Alert.obj; second definition ignored minigui.lib(h_menu.obj) : warning LNK4006: _HB_FUN__SHOWCONTEXTMENU already defined in Form_SelLang.obj; second definition ignored minigui.lib(h_msgbox.obj) : warning LNK4006: _HB_FUN_MSGYESNO already defined in util_Alert.obj; second definition ignored minigui.lib(h_msgbox.obj) : warning LNK4006: _HB_FUN_MSGEXCLAMATION already defined in util_Alert.obj; second definition ignored minigui.lib(h_msgbox.obj) : warning LNK4006: _HB_FUN_MSGINFO already defined in util_Alert.obj; second definition ignored minigui.lib(h_msgbox.obj) : warning LNK4006: _HB_FUN_MSGSTOP already defined in util_Alert.obj; second definition ignored Tsb_composite.exe : warning LNK4088: image being generated due to /FORCE option; image may not run [/pre2] Все работает

Andrey: Спасибо ! Заработало ! gfilatov2002 пишет: ldflags=/force:multiple А этот ключ нельзя поместить в Tsb_composite.hbp ? А то не хочется таскать 2 файла в проекте...

gfilatov2002: Andrey пишет: А этот ключ нельзя поместить в Tsb_composite.hbp ? Нет. Но его можно добавить в файл minigui.hbc


Andrey: Спасибо !

Andrey: Перешёл на компилятор VC2019 Опять такая же беда, не собирается ехе-ник. Ключ есть. Вот проект - https://cloud.mail.ru/public/DA3R/X7SRu8zNt



полная версия страницы