PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Автор обещает много интересных штучек.

Модератор: The trick

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение The trick » 22.01.2022 (Сб) 18:18

UA6527P

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение Adam Smith » 22.01.2022 (Сб) 20:27

Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

-link.exe "C:\VBPng\VbSources\Test_SavePng\frmMain.OBJ" "C:\VBPng\VbSources\Test_SavePng\LoadSavePng.OBJ" "C:\Program Files\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /OUT:"C:\VBPng\VbSources\Test_SavePng\LoadSavePng.exe" /BASE:0x400000 /VERSION:2.0 /INCREMENTAL:NO /OPT:REF /MERGE:.rdata=.text /IGNORE:4078 ..\..\VbPngLibCpp\ReleaseLib\msvcrt_winxp.obj ..\..\VbPngLibCpp\ReleaseLib\VBPng.lib -ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS,5.1

-LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
-LINK : fatal error LNK1104: cannot open file 'uuid.lib'
-LINK : fatal error LNK1104: cannot open file 'msvcprt.lib'
-LINK : fatal error LNK1104: cannot open file 'MSVCRT.lib'
-LINK : fatal error LNK1104: cannot open file 'OLDNAMES.lib'
-LINK : fatal error LNK1104: cannot open file 'Msimg32.lib'
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in VBPng.lib(ti_inst.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in VBPng.lib(ti_inst.obj)
C:\VBPng\VbSources\Test_SavePng\LoadSavePng.exe : fatal error LNK1169: one or more multiply defined symbols found

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение Adam Smith » 27.01.2022 (Чт) 22:00

Отредактировал предыдущий пост и пишу дополнение, чтобы было заметно изменение в форуме.

Вот такой сейчас список файлов в папке компилируемого проекта:
    c:\VBPng\VbSources\Test_SavePng\frmMain.frm
    c:\VBPng\VbSources\Test_SavePng\Kernel32.Lib
    c:\VBPng\VbSources\Test_SavePng\LoadSavePng.vbp
    c:\VBPng\VbSources\Test_SavePng\LoadSavePng.vbw
    c:\VBPng\VbSources\Test_SavePng\MSImg32.Lib
    c:\VBPng\VbSources\Test_SavePng\msvcprt.lib
    c:\VBPng\VbSources\Test_SavePng\msvcrt.lib
    c:\VBPng\VbSources\Test_SavePng\oldnames.lib
    c:\VBPng\VbSources\Test_SavePng\Uuid.Lib
Add-in работает, установлен в папку C:\VbSources\Add-in\VbPngAddIn.dll

Компиляция не удаётся.
Последний раз редактировалось Adam Smith 28.01.2022 (Пт) 0:58, всего редактировалось 2 раз(а).

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение The trick » 28.01.2022 (Пт) 0:37

IconsCursors при компиляции что показывает?
UA6527P

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение Adam Smith » 28.01.2022 (Пт) 0:56

The trick писал(а):IconsCursors при компиляции что показывает?

Тоже самое, что я выше описывал, использую линкер 2010 с кучей доп. lib-файлов, тоже выше приводил их список.
-link.exe "C:\VBPng\VbSources\IconsCursors\frmMain.OBJ" "C:\VBPng\VbSources\IconsCursors\IconCursorAni.OBJ" "C:\Program Files\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /OUT:"C:\VBPng\VbSources\IconsCursors\IconCursorAni.exe" /BASE:0x400000 /VERSION:2.0 /INCREMENTAL:NO /OPT:REF /MERGE:.rdata=.text /IGNORE:4078 /SUBSYSTEM:WINDOWS,5.1 ..\..\VbPngLibCpp\ReleaseLib\msvcrt_winxp.obj ..\..\VbPngLibCpp\ReleaseLib\VBPng.lib -ENTRY:mainCRTStartup

Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in VBPng.lib(ti_inst.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in VBPng.lib(ti_inst.obj)
C:\VBPng\VbSources\IconsCursors\IconCursorAni.exe : fatal error LNK1169: one or more multiply defined symbols found

MSVCRT.lib из VS2010 содержит дубли из VBPng.lib, а без MSVCRT.lib компиляция вылетает с ошибкой -LINK : fatal error LNK1104: cannot open file 'MSVCRT.lib'
Trick, Add-in AdvancedTool позволит компилировать Project.OBJ-файл без SECTION .rsrc (VERSIONINFO и ICONGROUP) ?
там ведь куча Compile options, events и Conditional compilation всяких, можно ими воспользоваться для этого ?

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение The trick » 28.01.2022 (Пт) 10:53

Ну вот что я сделал чтобы без установленной 2010 студии скомпилить:
1. Заменил в папке VB98 линкер и добавил нужные ему файлы (MSVCR100/MSPDB100);
2. Скопировал в папку с проектом файлы kernel32.lib, uuid.lib, msvcprt.lib, msvcrt.lib, oldnames.lib, msimg32.lib.
UA6527P

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение Adam Smith » 28.01.2022 (Пт) 12:35

The trick писал(а):Ну вот что я сделал чтобы без установленной 2010 студии скомпилить:
1. Заменил в папке VB98 линкер и добавил нужные ему файлы (MSVCR100/MSPDB100);
2. Скопировал в папку с проектом файлы kernel32.lib, uuid.lib, msvcprt.lib, msvcrt.lib, oldnames.lib, msimg32.lib.

У меня всё тоже самое, DLL-ки рядом с линкером, остальные с проектом, но в результате ошибка.
я старательно выбирал файлы х86 потому, что в студии 2010 были и для 64, и для альф по-моему, вот:
https://disk.yandex.ru/d/qDwrvyDChS5l2w

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: PNG/ICO/CUR/ANI изображения в стандартных контролах VB6.

Сообщение Adam Smith » 29.01.2022 (Сб) 5:37

Генерацию манифеста и добавление его внутрь после сборки ЕХЕ я всё таки слепил.
Может целую тему посвятить заковыристому применению TrickAdvancedTools Add-in'а ?
Adam Smith писал(а):линковщик студии 2010 вроде умеет многое
options:
/ASSEMBLYRESOURCE:filename[,[name][,PRIVATE]]
/MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16|SH4|THUMB|X64|X86}
/MANIFEST[:NO]
/MANIFESTDEPENDENCY:manifest dependency
/MANIFESTFILE:filename
/MANIFESTUAC[:{NO|UAC fragment}]

Пред.

Вернуться в The trick

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList