Точка входа не найдена, пока мой файл DLL находится в папке рядом с моим EXE-файлом.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Точка входа не найдена, пока мой файл DLL находится в папке рядом с моим EXE-файлом.

Сообщение Anonymous »

У меня есть EXE-файл, скомпилированный с помощью Visual Studio. Я пишу код на C++ и могу правильно отлаживать и запускать свой код с правильными дополнительными зависимостями и рабочим каталогом.
Я получаю эту ошибку:

Точка входа в процедуру не найдена в динамической библиотеке

Я так понимаю, она не смогла найти основную функцию файла DLL, что привело к этому, что означает, что мой EXE не смог найти файл DLL. Проблема в том, что раньше у меня была эта ошибка в Visual Studio, и я установил рабочий каталог OutDir, что исправило ее, но отдельный EXE-файл все равно выдавал ошибку.
Я использовал LoadLibrary() и не понимаю, почему он не работает, он должен найти путь.
Примечание: моя DLL — правильная версия, последнее обновление. , является обязательным форматом и находится в папке с именем [binary], которая находится рядом с моим EXE-файлом.

Код: Выделить всё

#define NOMINMAX

#include 
#include 
#include 
#include 

static void DLLErrorHandler(HMODULE& DLL1, HMODULE& DLL2, HMODULE& DLL3, HMODULE& DLL4, HMODULE& DLL5, HMODULE& DLL6) {
DLL1 = LoadLibrary(L".\\binary\\openal32.dll");
DLL2 = LoadLibrary(L".\\binary\\sfml-audio-d-2.dll");
DLL3 = LoadLibrary(L".\\binary\\sfml-graphics-d-2.dll");
DLL4 = LoadLibrary(L".\\binary\\sfml-network-d-2.dll");
DLL5 = LoadLibrary(L".\\binary\\sfml-system-d-2.dll");
DLL6 = LoadLibrary(L".\\binary\\sfml-window-d-2.dll");

switch (0) {
case 0:
if (DLL1 == NULL) MessageBox(NULL, L"Missing DLL: openai32.dll", L"Error", MB_ICONERROR | MB_OK);
case 1:
if (DLL2 == NULL) MessageBox(NULL, L"Missing DLL: sfml-audio-d-2.dll", L"Error", MB_ICONERROR | MB_OK);
case 2:
if (DLL3 == NULL) MessageBox(NULL, L"Missing DLL: sfml-graphics-d-2.dll", L"Error", MB_ICONERROR | MB_OK);
case 3:
if (DLL4 == NULL) MessageBox(NULL, L"Missing DLL: sfml-network-d-2.dll", L"Error", MB_ICONERROR | MB_OK);
case 4:
if (DLL5 == NULL) MessageBox(NULL, L"Missing DLL: sfml-system-d-2.dll", L"Error", MB_ICONERROR | MB_OK);
case 5:
if (DLL6 == NULL) MessageBox(NULL, L"Missing DLL: sfml-window-d-2.dll", L"Error", MB_ICONERROR | MB_OK);
default:
if (DLL1 != NULL && DLL2 != NULL && DLL3 != NULL && DLL4 != NULL && DLL5 != NULL && DLL6 != NULL){
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78746951/entry-point-not-found-while-my-dll-file-is-in-a-folder-next-to-my-exe[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»