Я пытаюсь загрузить простую DLL с именем «MathLib.dll» для тестирования. Путь к DLL - D:\Desktop\MathLib\MathLib.dll
. В этом коде dll всегда имеет значение null и печатается «Ошибка при загрузке».C++ LoadLibrary Возвращает Null
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
int main()
{
HINSTANCE dll = LoadLibrary(L"D:\Desktop\MathLib\MathLib.dll");
if (dll == NULL) {
std::cout << "Failed to load";
}
else {
std::cout << "Loaded!";
}
std::cin.get();
return 0;
}
Я думаю, что проблема связана с путями, но я не знаю, что бы я мог сделать по-другому.
Вы должны избежать обратной косой черты в строковых литералов 'D: \\ Desktop \\ MathLib \\ MathLib.dll', или использовать необработанные строковые литералы. – Praetorian
В окне «Окно» лучше всего использовать обратную косую черту при работе с дорожками. Таким образом, он автоматически ускользает от пробелов, а строка будет более разборчивой. – Brandon