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

Jindroush jindroush na seznam.cz
Středa Únor 16 12:46:04 CET 2022


Tam nejsou zavislosti na jinych headerech, a nejsou tam precompiled 
headers? Ja bych predpokladal, ze aspon jedno z toho tam bude, proto je 
treba dat to 'co nejdriv', tj. idealne jako prepinac kompilatoru (-D), 
coz zaridi IDE, kdyz to tam vpisete.
J.

On 16.02.2022 12:08, Pavel Hudeček wrote:
> 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
>>
>>
>
> _______________________________________________
> 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