У меня есть ПК с Windows 10 x64, Visual Studio с MSVC, Windows SDK и LLVM. Раньше я использовал Visual Studio только для создания своего небольшого проекта Windows API, но теперь хочу попробовать создать его с помощью Clang. Я пытался это сделать, но произошла ошибка:
C:\Clang\EzWin>clang++ -std=c++20 -Wall -Iinclude -o EzWin.exe src/*.cpp src/System/*.cpp src/Window/*.cpp Window-1fdc82.o: ошибка LNK2019: неразрешенный внешний символ __imp_SetWindowLongPtrW, указанный в функции "__int64 __cdecl ez::windowProcedure(struct HWND__ *,unsigned int,unsigned __int64,__int64)" (?windowProcedure@ez@@YA_JPEAUHWND__@@I_K_J @Z ) И так далее. Всего 16 неразрешенных внешних проблем, связанных с функциями Windows API.
Я искал решение около часа и нашел только это: Как использовать clang с заголовками mingw-w64 в Windows
Поэтому я попытался добавить флаг -target x86_64-pc-windows-gnu, как было сказано в верхнем ответе. Неразрешенные внешние параметры исчезли, но вместо этого я получил следующую ошибку:
include\EzWin/System/Vector2.inl:6:10: фатальная ошибка: файл cmath не найден 6 | #include | ^~~~~~~ В этот момент мне стало слишком сложно разобраться. Нужен ли мне MinGW-w64? Если да, то как мне его установить? На официальной странице загрузки MinGW-w64 указано слишком много пакетов. Если нет, что мне делать?
Вот и все
Мобильная версия