Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Gabimet
  • Drejtuesit për kartën video nuk janë instaluar. Nuk mund të gjendet (skedari)

Drejtuesit për kartën video nuk janë instaluar. Nuk mund të gjendet (skedari)

Herë pas here, kompjuterët tanë japin gabime të ndryshme: çdo program ose skedar ndalon hapjen, modaliteti i rindezjes ndizet vetë dhe lindin probleme të tjera. Në këtë artikull, unë do të shpjegoj pse mesazhi "Nuk mund të gjendet (skedari)" shfaqet ndonjëherë në ekranin e kompjuterit. Kontrolloni nëse emri është i saktë dhe provoni përsëri”, dhe çfarë të bëni për të zgjidhur këtë problem.

Duke kërkuar për një zgjidhje për një problem

Le të shohim pse shfaqet një mesazh në ekranin e kompjuterit tonë se skedari nuk mund të gjendet dhe duhet të kontrollojmë emrin. Sistemi tregon në kllapa rrugën e skedarit që nuk mund të gjendet dhe na këshillon të kontrollojmë nëse emri është i saktë dhe të provojmë përsëri.

Përdoruesit pajtohen që ky problem është shkaktuar nga funksionimi i antivirusit. Më saktësisht, vetë virusi, gjurmët e të cilit u gjetën dhe skedari i infektuar prej tij u fshi ose u zhvendos në karantinë. Gjithashtu, gabimi shfaqet kur programi është instaluar ose çinstaluar gabimisht. Sigurisht, gjithmonë mund të riinstaloni Windows, por kjo është një masë ekstreme, sepse askush nuk dëshiron të prishë programet e punës. Prandaj, së pari do të aplikojmë masa më pak kategorike - do të shqyrtojmë lloje të ndryshme skedarësh dhe do të përcaktojmë mënyrat për të rregulluar gabimin.

Zgjidhja e problemit kur është e pamundur të hapësh skedarë exe

Ka disa mënyra për të zgjidhur problemin e hapjes së skedarëve exe. Le t'i konsiderojmë ato me radhë.

Riinstalimi i softuerit

Nëse skedari fshihet nga një program antivirus, atëherë nuk ka nevojë ta tërhiqni atë nga ruajtja, nuk ishte e kotë që u zhvendos atje. Edhe nëse mund ta nxjerrim që andej, ai tashmë është dëmtuar dhe nuk do të mund të funksionojë siç duhet.

Në këtë rast, dalja është një çinstalim dhe instalim i plotë i një programi që nuk mund të fillojë. Shtë më mirë të hiqni softuerin jo përmes mjeteve standarde të Windows, por me ndihmën e softuerit special - Revo Uninstaller ose AIDA64. Ata jo vetëm që çinstalojnë programin problematik, por gjithashtu "pastrojnë" të gjithë skedarët e mbetur të panevojshëm.

Ndryshimi i cilësimeve të Steam

Ndodh që mesazhi se nuk mund të hapni një skedar të caktuar exe "Nuk mund të gjendet ... Ju lutemi kontrolloni nëse emri është i saktë dhe provoni përsëri" shfaqet kur filloni lojën. Në këtë rast, ne zbatojmë algoritmin e mëposhtëm të veprimeve:

  • Klikoni me të djathtën në dosjen Steam dhe zgjidhni "Properties";
  • shkoni te skedari "Siguria";
  • në dritaren e parë "Grupet ose përdoruesit" zgjidhni rreshtin "Përdoruesit";
  • nëse për ndonjë arsye kjo linjë mungon, atëherë vetëm më poshtë klikoni "Ndrysho" dhe në dritaren tjetër "Shto";
Zgjidhni një përdorues në dosjen Steam
  • në kutinë "Futni emrat e objekteve të zgjedhura", shkruani emrin e përdoruesit dhe klikoni "Kontrollo emrat" (mund ta merrni emrin nga rreshti "Administratorët" ose të përdorni emrin e mysafirit të regjistruar në këtë PC);

Futni emrat e objekteve të zgjedhura
  • pasi të keni verifikuar me sukses emrin, klikoni OK;
  • sigurohuni që për përdoruesin e zgjedhur të gjithë artikujt "Lejo" të jenë të shënuara dhe klikoni OK;
Vendosja e lejeve për grupin "Përdoruesit".
  • Presim deri në fund të futjes së të gjitha ndryshimeve të bëra dhe rifillojmë lojën.

Redaktori i Regjistrit dhe Menaxheri i Detyrave në shpëtim

  1. Ju gjithashtu mund ta provoni këtë metodë. Klikoni me të djathtën në Start (në Windows 10) dhe kërkoni linjën "Run".
  2. Fut regedit. Hapet Redaktori i Regjistrit.
  3. Ne kalojmë rrugën e mëposhtme - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - kërkoni linjën e problemit këtu dhe fshijeni atë.

Fshini skedarin në dosjen Run

Mund të ndihmojë gjithashtu të çaktivizoni nisjen e aplikacionit që po merr gabimin "Nuk mund të gjendet (skedari)". Hapni Task Manager (në butonin Start), LMB zgjidhni programin e dëshiruar, pastaj kliko me të djathtën mbi të dhe zgjidhni "Disable".

Zgjidheni problemin me hapjen e Excel

Nëse nuk mund të hapni një libër pune në Excel dhe merrni një mesazh që nuk mund ta gjejë (skedar) - duhet të kontrolloni nëse emri është i saktë dhe të provoni përsëri, atëherë duhet të bëni sa më poshtë. Meqenëse shkaku i gabimit në këtë rast mund të jetë ndalimi i pranimit të kërkesave të DDE nga aplikacione të tjera, ai duhet të hiqet. Për ta bërë këtë, zgjidhni kutinë "Injoroni kërkesat DDE nga aplikacionet e tjera". Në Excel 2007, ky varg është në opsionet e avancuara në butonin Microsoft Office. Në Excel 2003 dhe më të vjetër, në Opsionet e Përgjithshme në menynë Vegla.

Gabim në redaktuesin e politikave të grupit lokal

Në procesin e aktivitetit, mund të hasim në faktin që kur filloni Redaktorin e Politikave të Grupit Lokal, shfaqet një dritare me një mesazh që skedari gpedit.msc nuk mund të gjendet. Ne nuk jemi me nxitim për të kërkuar këtë skedar në kompjuterin tonë, por kujtojmë ose shikojmë se cili version i Windows është i instaluar në PC. Nëse bazë ose në shtëpi - ata thjesht nuk ofrojnë një redaktues LGP.

Në këtë rast, ne përdorim dy metoda:

  • ne po kërkojmë një mënyrë tjetër ku nuk kemi nevojë për funksionet e redaktuesit (ato e bëjnë më të lehtë menaxhimin e cilësimeve të sistemit duke bërë ndryshime në regjistër);
  • ne e riinstalojmë OS në një version të korporatës, profesional dhe version tjetër që ka një specializim të ngushtë.

Ne kemi shqyrtuar mënyrat kryesore për të zgjidhur problemin që shfaqet kur Windows nuk mund të gjejë skedarin që ju nevojitet. Shpresoj se ky informacion do të ndihmojë këdo që ndeshet me një gabim të ngjashëm.

Në kontakt me

opsionet (11)

Po përpiqem të përpiloj programin tim dhe ai kthen këtë gabim:

Usr/bin/ld: nuk mund të gjejë -l

në makefile-in tim përdor komandën g++ dhe një lidhje me bibliotekën time e cila është një lidhje simbolike për bibliotekën time të vendosur në një drejtori tjetër.

A ka ndonjë mundësi për të shtuar për ta bërë atë të funksionojë ju lutem?

Përgjigjet

Kontrolloni vendndodhjen e bibliotekës tuaj, për shembull lxxx.so:

Gjeni lxxx.so

Nëse nuk është në dosjen /usr/lib, shkruani sa vijon:

Sudo cp yourpath/lxxx.so /usr/lib

Ky gabim mund të hidhet gjithashtu nëse lidhja simbolike është në një librari dinamike.so, por për arsye të vjetra - -static shfaqet midis flamujve të lidhjeve. Nëse po, provo ta heqësh.

Problemi im ishte se e riemërova direktorinë prind të programit që po ekzekutoja (mpicc nga MVAPICH) dhe kjo ngatërroi disi binarin. Edhe dopingu LD_LIBRARY_PATH nuk ishte i mjaftueshëm dhe më duhej ta ripërpiloja atë në rrugën e duhur.

Biblioteka me të cilën po përpiqesha të lidhja doli të ishte një emër jo standard (d.m.th. nuk kishte prefiksin "lib"), kështu që ata rekomanduan përdorimin e një komande si kjo për ta përpiluar atë -

test gcc.c -I përfshi lib/cspice.a -lm

Duket se nuk ka një përgjigje që trajton problemin shumë të zakonshëm të fillestarëve të mos instalimit të bibliotekës së duhur në radhë të parë.

Në platformat Debianish, nëse libfoo mungon, shpesh mund ta instaloni me diçka të tillë

apt-get instalo libfoo-dev

Për -dev versioni -dev i një pakete, madje edhe zhvillim i parëndësishëm si përpilimi i kodit burimor për t'u lidhur me një bibliotekë.

Emri i paketës ndonjëherë ka nevojë për një zbukurim (libfoo0-dev ? foo-dev pa prefiksin lib etj.), ose thjesht mund të përdorni kërkimin e paketave të shpërndarjes tuaj për të gjetur saktësisht se cilat paketa ofrojnë një skedar të caktuar.

(Nëse ka më shumë se një, do t'ju duhet të kuptoni se cilat janë ndryshimet. Zgjedhja më e lezetshme ose më e njohura është një etiketë e zakonshme, por jo një procedurë e pranueshme për ndonjë punë serioze zhvillimi.)

Për arkitekturat e tjera (veçanërisht RPM), zbatohen procedura të ngjashme, megjithëse detajet do të ndryshojnë.

Për të zbuluar se çfarë kërkon lidhësi, ekzekutojeni atë në modalitetin verbose.

Për shembull, hasa në këtë problem ndërsa përpiqesha të përpiloja MySQL me mbështetjen e ZLIB. Gjatë përpilimit po merrja këtë gabim:

/usr/bin/ld: nuk mund të gjejë -lzlib

Bëra disa Google dhe vazhdova të hasja probleme të ndryshme të të njëjtit lloj, ku njerëzit do të thoshin se skedari .so ekzistonte në të vërtetë, dhe nëse jo, krijoni një lidhje simbolike për skedarin me versionin, si zlib.so.1.2. 8. Por, kur kontrollova, zlib.so DID ekziston, kështu që mendova se mund të mos ishte problemi.

Kam hasur në një postim tjetër në ueb që sugjeronte ekzekutimin e make with LD_DEBUG=all:

LD_DEBUG=të gjitha prodhojnë

Megjithëse mora një TON prodhim korrigjimi, nuk ishte vërtet shumë i dobishëm. Kjo shtoi më shumë konfuzion se çdo gjë tjetër. Pra, isha gati të hiqja dorë.

Pastaj pata një epifani. Vendosa të kontrolloj tekstin e ndihmës për komandën ld:

ld --ndihmë

Nga kjo kuptova se si të ekzekutoj ld në modalitetin e folur (imagjinoni):

ld -lzlib --fjalë

Ky është rezultati që kam marrë:

================================================== tentim për të hapur /usr/x86_64-linux-gnu/lib64/libzlib.so përpjekje e dështuar për të hapur /usr/local/lib64/libzlib.a përpjekje e dështuar për të hapur /lib64/libzlib.so përpjekje e dështuar për të hapur /lib64/libzlib.a përpjekje e dështuar për të hapur /usr/lib64/libzlib.so përpjekje e dështuar për të hapur / usr/lib64/libzlib.a përpjekje e dështuar për të hapur /usr/x86_64-linux-gnu/lib/libzlib.so përpjekje e dështuar për të hapur /usr/x86_64 -linux-gnu/lib/libzlib.a përpjekje e dështuar për të hapur /usr/ local/lib/libzlib.pra përpjekje e dështuar për të hapur /usr/local/lib/libzlib.një përpjekje e dështuar për të hapur /lib/libzlib.so përpjekje e dështuar për të hapur /lib/libzlib.një përpjekje e dështuar për të hapur /usr/lib/ libzlib.so përpjekje e dështuar për të hapur /usr/lib/libzlib.a dështoi /usr/bin/ld.bfd.real: nuk mund të gjejë -lzlib

Ding, ding, ding...

Pra, për ta rregulluar përfundimisht këtë, unë mund të përpiloj MySQL me versionin tim të ZLIB (në vend të paketës):

sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so

Koha e përpilimit

Kur G++ thotë nuk mund të gjej -l , kjo do të thotë se G++ po kërkonte skedarin lib(nameOfTheLibrary). pra, por nuk mund ta gjente atë në rrugën e kërkimit të bibliotekës së përbashkët, e cila si parazgjedhje tregon në /usr/lib dhe /usr/local/lib dhe ende diku. .

Për të zgjidhur këtë problem, duhet të siguroni skedarin e bibliotekës (lib(nameOfTheLibrary).so) në këto shtigje kërkimi ose të përdorni komandën -L. -L(rruga) i thotë G++ (në fakt ld) që të kërkojë skedarë të bibliotekës në shtegun (shtegun) përveç shtigjeve të paracaktuara.

Shembull. Duke supozuar se keni një bibliotekë në /home/taylor/libswift.so dhe dëshironi të lidhni aplikacionin tuaj me atë bibliotekë. Në këtë rast, duhet t'i jepni G++ opsionet e mëposhtme:

G++ kryesore.cpp -o kryesore -L/home/taylor -lswift

    Shënim 1: -I merr emrin e bibliotekës pa lib dhe .pra në fillim dhe në fund.

    Shënim 2: Në disa raste, emri i skedarit të bibliotekës ndiqet nga versioni i tij, për shembull libswift.so.1.2. Në këto raste, as G++ nuk mund ta gjejë skedarin e bibliotekës. Një zgjidhje e thjeshtë libswift.so.1.2 për ta rregulluar këtë është krijimi i një lidhjeje simbolike me libswift.so.1.2 të quajtur libswift.so.

kohë të çojë

Kur e lidhni aplikacionin tuaj me një bibliotekë të përbashkët, biblioteka kërkohet të mbetet e disponueshme sa herë që filloni aplikacionin. Në kohën e ekzekutimit, aplikacioni juaj (në fakt lidhësi dinamik) kërkon bibliotekat e tij në LD_LIBRARY_PATH. Ky është një variabël mjedisor që ruan një listë të shtigjeve.

Shembull. Në rastin e shembullit tonë libswift.so, lidhësi dinamik nuk mund të gjejë libswift.so në LD_LIBRARY_PATH (që tregon për shtigjet e paracaktuar të kërkimit). Për të rregulluar problemin, duhet ta shtoni këtë variabël me shtegun libswift.so.

Eksporto LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/taylor

Nëse emri i bibliotekës suaj është libxyz.so dhe është në rrugë, thoni:

/home/user/myDir

pastaj lidheni me programin tuaj:

G++ -L/home/user/myDir -lxyz myprog.cpp -o myprog

Së pari, duhet të dini rregullin e emërtimit lxxx:

/usr/bin/ld: nuk mund të gjej -lc /usr/bin/ld: nuk mund të gjej -lltdl /usr/bin/ld: nuk mund të gjej -lXtst

lc do të thotë libc.so, lltdl do të thotë libltdl.so, lXtst do të thotë libXts.so.

Pra është lib + lib-name + .so

Pasi ta dimë emrin, mund të përdorim locate për të gjetur shtegun për në këtë skedar lxxx.so

$ gjeni libiconv.so /home/user/anaconda3/lib/libiconv.so #<-- right here /home/user/anaconda3/lib/libiconv.so.2 /home/user/anaconda3/lib/libiconv.so.2.5.1 /home/user/anaconda3/lib/preloadable_libiconv.so /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so.2 /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so.2.5.1 /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/preloadable_libiconv.so

Nëse nuk mund ta gjeni, duhet ta instaloni në yum (Unë jam duke përdorur CentOS). Zakonisht e keni këtë skedar, por nuk lidhet në vendin e duhur.

Lidheni atë me vendndodhjen e duhur, zakonisht /lib64 ose /usr/lib64

$ sudo ln -s /home/user/anaconda3/lib/libiconv.so /usr/lib64/

Kur përpiloni me g++ nëpërmjet make, përcaktoni LIBRARY_PATH nëse mund të mos jetë praktike të ndryshoni Makefile me opsionin -L. E vendosa bibliotekën time shtesë në /opt/lib kështu që bëra:

$ eksporto LIBRARY_PATH=/opt/lib/

dhe më pas ekzekutoni make për të përpiluar dhe lidhur me sukses.

Për të ekzekutuar një program me një bibliotekë të përbashkët, përcaktoni:

$ eksporto LD_LIBRARY_PATH=/opt/lib/

përpara se të ekzekutoni programin.

Ubuntu juaj ka patjetër një version mjaft të fundit të g++. Flamuri i përdorur: -std=c++0x.

Gabimi i nisjes së lojës ndodh kur fillon Warface në skedarin D:\GamesMailRu\Warface\Bin2Release\Game.exe. Vetë teksti i gabimit mund të jetë i ndryshëm: qasja është mohuar, pajisja nuk e njeh komandën, nuk ka burime të mjaftueshme të sistemit për të përfunduar operacionin, një ose më shumë argumente janë të pasakta, skedari i specifikuar nuk mund të gjendet. Në secilin rast, zgjidhja mund të jetë e ndryshme. Para së gjithash, ne rekomandojmë:

  1. Drejtoni Warface si administrator. Klikoni me të djathtën në shkurtoren e lojës dhe zgjidhni "Run as administrator". Kjo zgjidhje ndihmon në rastet me një gabim në lidhje me aksesin në skedarët e ekzekutueshëm.
  2. Riinstaloni ose përditësoni Microsoft Visual C++, Microsoft .NET Framework dhe VCredist. si ta bëni, lexoni më poshtë ose ndiqni lidhjen: Si të përditësoni MS Visual C ++, MS .NET, VCredist . Zgjidhja shpesh ndihmon me një gabim: një ose më shumë argumente janë të pavlefshme.
  3. Është gjithashtu e mundur që skedarët të korruptohen nga programet antivirus. Provoni ta riinstaloni plotësisht lojën.

Gabim "Burime të pamjaftueshme të sistemit".

Arsyeja e gabimit qëndron në mungesën e burimeve të sistemit. Ndoshta nuk ka hapësirë ​​të mjaftueshme në hard disk, nuk ka RAM të mjaftueshëm ose skedari i paging është plot. Lironi hapësirën në hard diskun dhe rrisni madhësinë e skedarit paging të Windows.

Gabim "Skedari i specifikuar nuk mund të gjendet".

Në këtë rast, mund të themi me siguri se skedarët e lojës janë të korruptuar. Duhet të riinstaloni plotësisht lojën Warface.

Kam probleme me nisjen e makinës time linux.

Gjatë fazës së nisjes kur ekzekuton skriptin /, ankohet se nuk mund të gjente montimin . RUGA ime është vendosur në /sbin dhe /bin.

Provova të telefonoja direkt /bin/mount, gjë që gjithashtu dështoi, duke deklaruar se nuk ekzistonte.

Pastaj përfshiva gjetjen. , i cili u gjet dhe tregoi se /bin/mount ishte në të vërtetë i aksesueshëm.

Nuk jam i sigurt se çfarë të bëj me këtë. Kam lexuar që initramfs është në thelb një mbështjellës busybox, kështu që a mund të jetë problemi atje?

PËRDITËSOJE

Duket se montimi është komanda/skedari i vetëm që nuk u gjet. Fillova të punoj në procesin e shkarkimit; në skedën instalimi i përfunduar dhe i gjetur nëpërmjet find .

Megjithatë, kur u përpoqa ta ekzekutoja, mora një gabim "nuk u gjet" siç tregohet më poshtë.

PËRDITËSIM 2

E zgjidha problemin përkohësisht duke zëvendësuar çdo shembull të montimit në /init tim me montimin /bin/busybox. Punon pikërisht kështu.

2 Zgjidhjet mbledhin ueb formulari për "/init nuk mund të gjejë /bin/mount, por a mundet / mundet?"

E keni ruajtur skriptin në modalitetin DOS (windows), që do të thotë se ka një karakter kthimi të jashtëm në fund të çdo rreshti.

Mënyra më e lehtë për ta rregulluar këtë është ndoshta të ngarkoni skedarin në vim, të ndryshoni modalitetin me :set notx dhe më pas ta ruani skedarin me p.sh.:wq.

Është e mundur që /bin/mount të jetë një lidhje simbolike e prishur. Kjo mund të gjendet duke gjetur. , sepse kjo liston të gjitha hyrjet e direktoriumit, por nëse provoni të ekzekutoni këtë program, nuk do të funksionojë, pasi nuk ka asnjë skedar në fund të ylberit. Asamblerët BusyBox janë zakonisht lidhje me ekzekutuesin BusyBox: mount -> busybox ose mount -> /bin/busybox (nëse busybox është në /bin).

Një mundësi tjetër është që binar i montimit të jetë një nga sistemi juaj i drejtpërdrejtë. Ky binar është një bibliotekë e lidhur në mënyrë dinamike që përdor një ngarkues dinamik që mund të mos jetë i pranishëm në initramfs. Shikoni Marrja e një mesazhi "Nuk u gjet" kur ekzekutoni një binar 32-bit në një sistem 64-bit për një shpjegim të një rasti të ngjashëm.

Artikujt kryesorë të lidhur