Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Windows include failid, kust alla laadida? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
kalvis
Kreisi kasutaja

liitunud: 20.10.2009




sõnum 11.03.2020 11:48:05 Windows include failid, kust alla laadida? vasta tsitaadiga

eellugu on kõrvalteemas HID device interface programmeerimine. Kuni attribuutide väljalugemiseni (ID, serial ja string) toimib suurepäraselt siis mistahe data struktuuri (GetPreparsedData) väljalugemise funktsiooniga teeb programm exit ilma igasuguse veateateta. Üks võimalus on et M$ kui üritad PreparsedData viita sättida siis teatud HID seadmetele (klaviatuurid, hiired) ei luba seda ja "lolli" lahenduse (bug) tõttu teebki exit.
Seega üritasin läheneda ühe teise librariga RW_Input funktsioonidega.

Kuid probleemiks on, et need nõuavad include <winuser.h> või <windows.h> , see omakorda järgmist jne. Ja siis ühes libraris on hoopis C++ (õigemini visual stusio) M$ konstruktsioonid sees nagu _In_ ja _Out_ (ja teised) mistõttu kompileerimine ebaõnnestub.

Küsimus kust kohast oleks kõige parem saada/alla tõmmata MS Windows API jaoks neid include faile (soovitavalt kõiki, sest soov on muidki winapi funktsioone kasutada/avastad)mis töötaksid MinGW kompilaatoriga. Netis on mustmiljon projekti Github jt. kus on need include failid sees aga mingil põhjusel ikkagi kõigil on erinevused ja kõigil sama kiiks - lõpeb veateatega (kuna _In_ pole).

Pisike lisaküsimus - kas on ka olemas lihtne tüübifail, nimelt M$ kasutab mitte C päraseid tüüpe nagu BOOL, UINT, DWORD jne. kas on olemas include fail kus on kõik M$ visual C võimalikud tüübid ära deklareeritud. Ei viitsi iga kord teha seda typedef käsku ja käsitsi neid tüüpe defineerida.
tagasi üles
vaata kasutaja infot saada privaatsõnum
Supiplex
HV veteran
Supiplex

liitunud: 11.12.2002




sõnum 11.03.2020 16:51:59 vasta tsitaadiga

https://stackoverflow.com/questions/42284224/where-can-i-find-the-windows-header-files
_________________
The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions.
Kommentaarid: 38 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
kalvis
Kreisi kasutaja

liitunud: 20.10.2009




sõnum 12.03.2020 12:53:53 vasta tsitaadiga

Sain lõpuks windows SDK installitud ja seal on tõepoolest pea kõik include failid olemas.
Install ise oli seebiooper - tahtis saada .NET framenetwork, installisin kohe laksust 4.8 versiooni, ütleb, et ikka ei ole, proovisin 4.5 versiooni, see karjub, et uuem olemas, SDK jälle, et pole. Lõpuks tegin .NET full uninstall siis installisin 4.5 ja siis SDK oli rahul.
Õieti tabasin ära, et visual Studio tuli ka installida - osad included on seal olemas.

Kuid kahjuks nii lihtne see pole. Visualis kasutatakse mingeid eriti hulle typedef deklareerimist, leiab, et järgmine rida on vigane:
typedef _W64 unsigned int uintptr_t;

Kogu include fail kubiseb sarnastest vigadest:
typedef _W64 long __time32_t;
jne...

Mõistus otsas.
Kui midagi head ei tule siis tuleb üles otsida vaid funktsiooni prototüüp ja struktuur, no on vastikult kokku pandud need winduws included.
tagasi üles
vaata kasutaja infot saada privaatsõnum
Supiplex
HV veteran
Supiplex

liitunud: 11.12.2002




sõnum 12.03.2020 14:04:22 vasta tsitaadiga

Mul endal kogemus puudu, aga arvata võib et kui sa ei ehita koodi Visual Studio-s, siis seda võimlemist vist veidi jagub.
Ma alustuseks üritaks mingi howto dokumente otsida, mis selgitavad kuidas Windowsi SDK-d MinGW kaudu pruukida saab.
Sa included ikka WinSDK top level headerit?

_________________
The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions.
Kommentaarid: 38 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
andresv
HV kasutaja

liitunud: 06.12.2004




sõnum 17.03.2020 10:35:12 vasta tsitaadiga

kuna mõlemas su näites on "_W64 " siis eeldaks, et sul kusagil 32bit platform määratud aga include failid võtab 64bit omad.
Kahjuks fiximise osas aidata ei oska
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Windows include failid, kust alla laadida?
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.