Найди , как ты его там ПОДключил и ОТключи ... всё просто
Не получилось... Build started... 1>------ Build started: Project: RStarsEngine, Configuration: Debug x64 ------ 1>Application.cpp 1>EntryPoint.h 1>Generating Code... 1> Creating library D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.lib and object D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.exp 1>EntryPoint.obj : error LNK2019: unresolved external symbol "class RStar::Application * __cdecl RStar::CreateApplication(void)" (?CreateApplication@RStar@@YAPEAVApplication@1@XZ) referenced in function main 1>D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.dll : fatal error LNK1120: 1 unresolved externals 1>Done building project "RStarsEngine.vcxproj" -- FAILED. 2>------ Build started: Project: RSandbox, Configuration: Debug x64 ------ 2>SandboxApplication.cpp 2>RSandbox.vcxproj -> D:\RStars\bin\Debug-x64\RSandbox\RSandbox.exe ========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
0) давай будем собирать твои проекты (.vcproj из .sln) ПО ОДНОМУ. 1) Сначала давай соберём БИБЛИОТЕКУ. Это у тебя проект (1) в логе.
Build started... 1>------ Build started: Project: RStarsEngine, Configuration: Debug x64 ------ 1>Application.cpp 1>EntryPoint.h 1>Generating Code... 1> Creating library D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.lib and object D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.exp 1>EntryPoint.obj : error LNK2019: unresolved external symbol "class RStar::Application * __cdecl RStar::CreateApplication(void)" (?CreateApplication@RStar@@YAPEAVApplication@1@XZ) referenced in function main 1>D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.dll : fatal error LNK1120: 1 unresolved externals 1>Done building project "RStarsEngine.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Вот ошибка. 1> Creating library D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.lib and object D:\RStars\bin\Debug-x64\RStarsEngine\RStarsEngine.exp 1>EntryPoint.obj : error LNK2019: unresolved external symbol "class RStar::Application * __cdecl RStar::CreateApplication(void)" (?CreateApplication@RStar@@YAPEAVApplication@1@XZ) referenced in function main Объясни мне, какого хера у тебя в этой библиотеке делает функция MAIN ? Если её (1) не должно быть в библиотеке (2) не должно быть в Windows приложении в принципе.
https://github.com/TheCherno/Hazel/blob/master/Hazel/src/Hazel/Core/Application.h https://github.com/TheCherno/Hazel/blob/master/Sandbox/src/SandboxApp.cpp
Вот просто мельком увидел — очень характерно говорит о качестве этого материала: friend int ::main(int argc, char** argv); Вот за один такой выкрутас уже можно послать автора в пешее эротическое путешествие с большим пробегом...
Почему нельзя делать EntryPoint на стороне движка?
Ну я вот сейчас об этом думаю, да, можно. Но это точно не для начинающих, не в смысле что это сложно, но в смысле что так не надо учиться делать, потому что это редкий случай.
ОК, пусть у тебя будет main в библиотеке, но разберись, что б она собиралась
По тому гайду https://docs.microsoft.com/en-us/cpp/build/reference/dot-lib-files-as-linker-input?view=msvc-160 Мне нужно Additional Dependecies в проекте игры писать?
Позволь мне угадать: Ты решил написать игру, так?
Я решил написать движок, а песочница - место где можно тестить
НЕНАДО! Не надо писать игры, графику, движки, пока ты не научился просто программировать (на С/С++) в частности.
Вот отложи этот проект на месяца три, и научись сначала просто ) писать на С++ ) делать библиотеки на С++ ) использовать библиотеки на С++
Возьми напиши простую расчётную программу. ввести массив , найти в массиве минимальное и максимальное число, Отладь. Проверь Раздели программу на библиотеку и приложение. Функцию поиска минмакс вынеси в библиотеку. Отладь. Проверь. Сделай библиотеку динамической Функцию поиска минмакс вынеси в эту библиотеку. Отладь. Проверь. Далее можешь вернуться к своему проекту
Ну ты прям конкретно упростил задачу )
Обсуждают сегодня