Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

msvcrt.dll nie znaleziono punktu wejścia prcedury

190 views
Skip to first unread message

edek0

unread,
Jun 11, 2014, 7:18:17 AM6/11/14
to
Pr�ba uruchomienia mkvtoolnix 7.0 v 64bit
http://www.fosshub.com/download/mkvtoolnix-amd64-7.0.0.7z
w systemie win xp 64bit ko�czy si� komunikatem:

"the procedure entry point_vswprintf could not be located in the dynamic
link library msvcrt.dll"

Czy mam rozumie�, �e wskazana wersja dzia�a tylko na nowszych windowsach
typu win7 64bit?
Czy raczej kwestia podmiany biblioteki na tak�, kt�ra zawiera w sobie
potrzebnďż˝ procedurďż˝?

Robert Winkler

unread,
Jun 11, 2014, 8:17:16 AM6/11/14
to
W dniu 2014-06-11 13:18, edek0 pisze:
Nie, to oznacza, �e program wymaga do pracy nowszej wersji msvcrt.dll
a t� nale�y uaktualni� za pomoc� Visual C++ Redistributable
gdy� msvcrt.dll wymaga do pracy tak�e innych plik�w instalowanych przez
tďż˝ paczkďż˝

http://www.microsoft.com/en-us/download/details.aspx?id=30679

/Robert

Piotr B. [pb2004]

unread,
Jun 11, 2014, 1:00:06 PM6/11/14
to
Robert Winkler <no...@nowhere.org> wrote:
> W dniu 2014-06-11 13:18, edek0 pisze:
>> Próba uruchomienia mkvtoolnix 7.0 v 64bit
>> http://www.fosshub.com/download/mkvtoolnix-amd64-7.0.0.7z
>> w systemie win xp 64bit kończy się komunikatem:
>>
>> "the procedure entry point_vswprintf could not be located in the dynamic
>> link library msvcrt.dll"
>>
>> Czy mam rozumieć, że wskazana wersja działa tylko na nowszych windowsach
>> typu win7 64bit?
>> Czy raczej kwestia podmiany biblioteki na taką, która zawiera w sobie
>> potrzebną procedurę?

> Nie, to oznacza, że program wymaga do pracy nowszej wersji msvcrt.dll
> a tą należy uaktualnić za pomocą Visual C++ Redistributable
> gdyż msvcrt.dll wymaga do pracy także innych plików instalowanych przez
> tą paczkę

> http://www.microsoft.com/en-us/download/details.aspx?id=30679

msvcrt.dll jest plikiem systemowym i z niego funkcja vswprintf jest
importowana. Rację może mieć pytający że problemem jest XP 64. Powyższy
download nie pomoże bo te programy nie były nawet kompilowane za pomocą
Visual C++ tylko jakąś wersją mingw-w64.

--
Piotr Borkowski

Grzegorz Niemirowski

unread,
Jun 11, 2014, 6:29:21 PM6/11/14
to
Piotr B. [pb2004] <p_bor...@nospamgazeta.pl> napisał(a):
> msvcrt.dll jest plikiem systemowym i z niego funkcja vswprintf jest
> importowana. Rację może mieć pytający że problemem jest XP 64.

Dotąd jest OK.

> Powyższy
> download nie pomoże bo te programy nie były nawet kompilowane za pomocą
> Visual C++ tylko jakąś wersją mingw-w64.

A tu już nie jest. Po pierwsze, skoro program importuje funkcję z tego pliku
i ten download zawiera ten plik (bo plik ten jest częścią bibliotek Visual
C++), to dalsze rozaważania nad kompilatorem nie mają sensu. Po drugie nie
wiem skąd założenie, że mingw nie korzysta z visualowego runtime'u C. Otóż
jak najbardziej korzysta.

Problem jest ogólnie znany:
http://sourceforge.net/apps/trac/mingw-w64/wiki/_vswprintf%20missing

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 19 days, 2 hours, 4 minutes and 2 seconds

Grzegorz Niemirowski

unread,
Jun 11, 2014, 7:22:30 PM6/11/14
to
Zwracam honor :) Masz rację odnośnie pliku systemowego. Swego czasu
Microsoft doszedł do wniosku, że programiści nie powinni korzystać z
msvcrt.dll, tylko z biblioteki odpowiedniej do wersji Visual Studio, np.
MSVCRT100.DLL dla Visual C++ 2010. Dlatego plik msvcrt.dll nie jest
dystrybuowany w pakiecie Visual C++ Redistributable i nie ma go jak
zaktualizować inaczej, jak kopiując z innej wersji Windows. Z drugiej jednak
strony niektórzy programiści linkują do niego, np. ci korzystający z mingw.
Dlatego są problemy na starych wersjach Windows, jak np. XP 64.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 19 days, 2 hours, 58 minutes and 28 seconds

Robert Winkler

unread,
Jun 12, 2014, 1:13:04 AM6/12/14
to
W dniu 2014-06-12 01:22, Grzegorz Niemirowski pisze:
> Zwracam honor :) Masz rację odnośnie pliku systemowego. Swego czasu
> Microsoft doszedł do wniosku, że programiści nie powinni korzystać z
> msvcrt.dll, tylko z biblioteki odpowiedniej do wersji Visual Studio, np.
> MSVCRT100.DLL dla Visual C++ 2010. Dlatego plik msvcrt.dll nie jest
> dystrybuowany w pakiecie Visual C++ Redistributable i nie ma go jak
> zaktualizować inaczej, jak kopiując z innej wersji Windows. Z drugiej
> jednak strony niektórzy programiści linkują do niego, np. ci
> korzystający z mingw. Dlatego są problemy na starych wersjach Windows,
> jak np. XP 64.
>

Skopiować z innego systemy też nie można.
Wersja msvcrt.dll dystrybuowana z nowszymi systemami korzysta z
dodatkowych bibliotek, których nie ma w Windows XP x64.
Jedyny bezpieczny sposób na uaktualnienie tego pliku
to instalacja Service Packa,
tyle że Service Pack 2 dla Windows XP x64 zawiera bibliotekę msvcrt.dll
w której dalej brakuje _vswprintf.

Tak przy okazji.
Visual Studio 6.0 zawierał tool o nazwie Dependency Walker
pozwalający podejrzeć jakie funkcje są eksportowane przed
daną bibliotekę oraz z jakich bibliotek ona sama korzysta.
Obecnie Visual Studio nie zawiera już tego programu
ale można znaleźć jego niezależną wersje na sieci.

/Robert

0 new messages