Re: Problémy s DLL a LIB ve VS2017 - vyřešeno
Pavel Hudeček
edizon na seznam.cz
Středa Únor 16 12:08:43 CET 2022
No to jsem viděl celou dobu, ale ani když se před ten
#ifndef WIN32
přidá
#define WIN32
nezačne to fungovat, přičemž v C ani H není žádný jiný výskyt stringu WIN32.
Teprve když se to přidá do projektu, všechno funguje.
PH
Dne 16.02.2022 v 11:54 Jindroush napsal(a):
> No a kdybyste udelal to, co jsem radil (vcera, 17:45), tj. nechal si
> vypsat 'mezikrok' preprocesoru, videl byste hned na vlastni oko, ze se
> vam ta makra neprekladaji tak, jak ocekavate.
> J.
>
> On 16.02.2022 11:49, Pavel Hudeček wrote:
>> Takže vyřešeno:
>> v nastavení projektu je potřeba nejen u všech konfigurací přidat LIB,
>> ale navíc v C/C++ / Preprocesor přidat u všech konfigurací na začátek
>> WIN32;
>> Zajímavé je, kde se to projevuje jinde, než jen u toho přepínání v
>> tom H, protože po tom začnou zázračně fungovat všechny dříve
>> vyzkoušené varianty #define PXCAPI, kromě toho attribute.
>>
>> PH
>>
>> Dne 16.02.2022 v 8:56 Pavel Hudeček napsal(a):
>>> No on je to poměrně rozsáhlý, multiplatformní projekt. Jednou za čas
>>> se to celé buildí nějakou sadou skriptů a QT, pro win64, linux a
>>> mac. A jednou z mnoha částí je i SDK pro C a to obsahuje zmíněné H,
>>> DLL a LIB, potom ještě několik dalších podobných trojic. To si
>>> samozřejmě buildí zákazníci na svých softwarech a MSVS různých verzí
>>> mezi nimi tvoří významnou skupinu.
>>>
>>> PH
>>>
>>> Dne 16.02.2022 v 0:22 Miroslav Šinko napsal(a):
>>>> Tak pardon, mal som mylnu predstavu, ze je to libka z internetov..
>>>>
>>>> Import lib nemusi byt kompatibilna medzi roznymi verziami MSVC. Ak
>>>> mate zdrojaky, tak si ju zbuildujte v Studiu, v ktorom buildujete
>>>> aj aplikaciu. Ak mate od nej projekt, tak si ho otvorte vo vasom
>>>> studiu, ponukne vam konverziu na vyssiu verziu.
>>>>
>>>> Podla mna bojujete s veternymi mlynmi. To co mate hotove, je
>>>> pouzitelne v MSVS pre 32bit. Ale 64bit bola vytvorena pre GNU a to
>>>> do MSVS "nenatiahnete".
>>>>
>>>> Ina moznost je kuknut dependency walkerom na hotovu DLL, ake
>>>> funkcie ma exportovane (a v akej konvencii) a v zdrojakoch vasej
>>>> aplikacie pouzit "sehr dynamisch" pristup. t.j. LoadLibrary a
>>>> GetProcAddress. Teda sa vykaslat na staticke linkovanie dynamickej
>>>> kniznice do projektu.
>>>>
>>>> miro
>>>>
>>>>
>>>> On 15.2.2022 23:39, Pavel Hudeček wrote:
>>>>> Knihovna rozhodně není open source, ale zbuildovat si ji můžu:-)
>>>>>
>>>>> A kromě zdrojáků po jejím autorovi zbyl i projektový fajl od MSVC a s
>>>>> ním se normálně dá používat. Ale přes veškerou snahu se nepodařilo
>>>>> přijít na to, jak vytvořit nový projekt tak, aby fungoval stejně. Je
>>>>> vytvořený v nějaké starší verzi, takže ani s porovnáním fajlů jsem
>>>>> neuspěl. Liší se prostě moc.
>>>>>
>>>>> A mě by se docela líbilo, kdybych věděl v čem je problém a taky
>>>>> kdybych
>>>>> mohl zákazníkům do manuálu napsat, jak nastavit projekt v
>>>>> nearchaickém
>>>>> MSVS.
>>>>>
>>>>> PH
>>>>>
>>>>> Dne 15.02.2022 v 22:48 Miroslav Šinko napsal(a):
>>>>>> Som dinosaurus, VS2017 nepoznam (zaspal som na 2013), ale nejak
>>>>>> nepredpokladam, ze sa da "naucit" na rozponavanie _attribute_. Takze
>>>>>> by som vychadzal z toho, co som videl. Teda mate dll prichystanu na
>>>>>> Win32 cez MSVC(dllexport) a Win64 cez GNU(_attribute_). Podla mna je
>>>>>> dost mozne, ze 64bit verziu, co mate, ani pod MSVC nepojde
>>>>>> zlinkovat.
>>>>>> Ak som spravne pochopil, kniznica je open source, tak si ju
>>>>>> zbuildujte
>>>>>> v MSVC s tym dllexport aj ako 64bit a potom ju pouzite s
>>>>>> dllimport vo
>>>>>> vasej aplikacii.
>>>>>>
>>>>>> miro
>>>>>>
>>>>>> On 15.2.2022 21:59, Pavel Hudeček wrote:
>>>>>>> Ano, jako ve všech ostatních případech. Ale tady to nějak nestačí.
>>>>>>>
>>>>>>> PH
>>>>>>>
>>>>>>> Dne 15.02.2022 v 21:08 Miroslav Šinko napsal(a):
>>>>>>>> V nastaveniach projektu ste pridali do linker settings pxcapi.lib?
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
Další informace o konferenci Hw-list