Re: Problémy s DLL a LIB ve VS2017 - vyřešeno

Jindroush jindroush na seznam.cz
Středa Únor 16 11:54:48 CET 2022


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


-- 
Jindroush <jindroush na seznam.cz>



Další informace o konferenci Hw-list