Kezdőoldal » Számítástechnika » Programozás » Mi a megoldás erre a hibaüzene...

Mi a megoldás erre a hibaüzenetre? (msvcrt.dll)

Figyelt kérdés
"Az eljárás belépési pontja (_wsplitpath_s) nem található a DLL-ben (msvcrt.dll)"

dec. 8. 13:42
1 2
 1/14 anonim ***** válasza:
70%
Telepítsd fel a megfelelő szükséges verziót a Microsoft Visual C++ programból. Ezt az adott program gyártójának kéne megmondania, melyik verzió kell, esetleg mellékelni a telepítőt.
dec. 8. 14:19
Hasznos számodra ez a válasz?
 2/14 anonim ***** válasza:
19%

Veszélyes manőver ez, mert azzal járhat, hogy install után az a program működni fog, ami ezt a .dll-t igényli, de nem fog az többi, ami meg a másik, a rendszerben lévő, hasonnevű .dll-el dolgozott együtt.


Azt teheted, hogy a szükséges .dll-t megszerzed, de nem installálod fel, hanem abba a könyvtárba másolod be, ahol az a program van, amelyik rikoltozott a hibaüziben lévő belépési pont hiánya miatt.

A .dll-ek aktiválási sorrendje ugyanis az, hogy először a forrás directory-ból próbálja meg a rendszer a betöltésüket, ha ez nem megy, akkor a rendszer speciális, erre szolgáló könyvtárából, majd ha ez sem sikerül, akkor a path-ban megadott könyvtárak valamelyikéből.

dec. 8. 18:39
Hasznos számodra ez a válasz?
 3/14 anonim ***** válasza:
82%

#2


Ez hülyeség, ilyet nem szabad csinálni.

Le kell tölteni a megfelelő MSVCRT-t, és feltelepíteni, abból nem lehet gond. Szépen megfér egymás mellet több, eltérő verziójú MSVCRT, és egyébként visszafelé is kompatibilisek.


Ha random dll-eket töltögetsz le a netről, simán előfordulhat, hogy valami vírust szedsz le, ilyet nem szabad csinálni!

dec. 8. 18:53
Hasznos számodra ez a válasz?
 4/14 A kérdező kommentje:

Ez a gebasz azért lehet mert az Windows XP a nLite programmal buheráltam?


[link]

dec. 8. 21:27
 5/14 anonim ***** válasza:
50%
Azért biztos, hogy nem.
dec. 8. 21:36
Hasznos számodra ez a válasz?
 6/14 anonim ***** válasza:
83%

"1. Ne fér meg két azonos nevű dll."


Én ilyet nem is írtam, nem tudom, hol olvastad.


"2. Nem kompatibilisek visszafelé, de ha mégis, a régi biztos, hogy nem kompatibilis az újabbal."


De, kompatibilis. Az új MSVCRT tartalmazza a régi verziók összes függvényét a 2015-ös verzió óta: [link]

dec. 9. 06:35
Hasznos számodra ez a válasz?
 7/14 anonim ***** válasza:

"De hát, nem fér meg."


De, megfér, nem egyszer volt már feltelepítve nálam is több, mint pl. itt (nem az én képem): [link]

A 2015 utáni verziókból meg úgyis csak egyet tud feltelepíteni. Na, arra mondhatod, hogy nem fér meg, de hát nem is engedné a telepítő.


"Fogd már fel, hogy ha a függvények belépési pontja eltér, akkor nincs kompatibilitás, mert nem fogja tudni a függvényt meghívni. Éppen ezt az állapotot idézte meg a kérdező."


A DLL függvényeket szignatúra alapján szokás meghívni, a függvény belépési pontját a Windows feloldja (lásd GetProcAddress függvény: [link] ).


"A régi meg, hogy is lenne kompatibilis az újabbal? Honnan tudna olyan hívást kiszolgálni, amiről nem is tud?"


Az ÚJ kompatibilis a RÉGIVEL, nem fordítva. Azaz a régi DLL helyére simán be lehet rakni az újat (drop-in replacement), menni fog. Amikor egy új MSVCRT-t feltelepítesz, pont ez a történik, az új msvcrt.dll felülírja a régit. És megy probléma nélkül.

A cikkben, amit #8-as hozzászólásban linkeltem, is ugyanez van: "Say you have third-party libraries built by Visual Studio 2015. You can still use them in an application built by Visual Studio 2017, 2019, or 2022. There's no need to recompile with a matching toolset. The latest version of the Microsoft Visual C++ Redistributable package (the Redistributable) works for all of them."


"Éppen ezt az állapotot idézte meg a kérdező."


Igen, a kérdezőnél vagy régi MSVCRT van fent, vagy semmilyen, vagy eltérő architektúrájú, vagy sérült, ami fent van.

És most visszakanyarodunk az elejéhez: le kell tölteni a legújabb MSVCRT-t, és megoldódik a probléma, ennyi.

dec. 9. 11:23
Hasznos számodra ez a válasz?
 8/14 anonim ***** válasza:
Ja, és azért sem szabad csak egyetlen DLL-t kicserélni, mert az msvcrt.dll több másik DLL-re is hivatkozik, és ha csak az msvcrt.dll-t cseréled ki, akkor az fog hibára futni.
dec. 9. 11:24
Hasznos számodra ez a válasz?
 9/14 A kérdező kommentje:

Ezek vannak telepítve:


Microsoft .NET Framework 2.0 Service Pack 2


Microsoft .NET Framework 3.0 Service Pack 1


Microsoft .NET Framework 3.5


Microsoft .NET Framework 4 Client Profile


Microsoft .NET Framework 4 Extended


Microsoft Visual C++ 2005 Redistributable


Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219


Microsoft Visual C++ 2012 Redistributable (x86)

11.0.61030


Microsoft Visual C++ 2013 Redistributable (x86) - 12.0.30501


Microsoft Visual C++ 2015-2019 Redistributable (x86) - 14.29.30133

dec. 9. 12:04
 10/14 anonim ***** válasza:
Mit szeretnél futtatni?
dec. 9. 13:01
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!