Radfordhound / HedgeLib

A C++ library and collection of tools that aims to make modding games in the Sonic the Hedgehog franchise easier.
MIT License
88 stars 24 forks source link

help with part 4 of Windows #81

Open MrAwesomeDavid opened 1 year ago

MrAwesomeDavid commented 1 year ago

kinda new to this (I've been wanting to start modding Frontiers) so I assume this -> "Could NOT find robin_hood (missing: ROBIN_HOOD_LIBRARY ROBIN_HOOD_INCLUDE_DIR)" is the problem. How would I be able to fix this step?

Radfordhound commented 1 year ago

Hey, thanks a lot for reporting this issue!

First of all, is a file called robin_hood.h present under the Dependencies/x64/include directory?

If so, I think you're having the same problem my friend skyth ran into recently that, for some reason, I haven't been able to reproduce on my machine.

Basically, CMake is supposed to replace CMAKE_GENERATOR_PLATFORM with x64, but for some reason on some machines, it's instead replacing it with an empty string, eventually causing the whole script to fail.

Please try changing line 59 of the CMakeLists.txt file in the root directory from:

"${PROJECT_SOURCE_DIR}/Dependencies/${CMAKE_GENERATOR_PLATFORM}"

to:

"${PROJECT_SOURCE_DIR}/Dependencies/${CMAKE_SYSTEM_PROCESSOR}"

Then, delete your build directory, and run step 4 from the readme again.

If it's what I suspect, this should fix the issue for you. If it works, I'll be sure to commit this fix to the repository.

Also, I've just queued an AppVeyor rebuild, so if all you were trying to do was download the HedgeTools, you should now be able to do that again without having to manually build (just check out the "latest (development) builds" link in the readme).

MrAwesomeDavid commented 1 year ago

thank you so much! :) 🙏 edit: the error is still popping up :I might be "A Fbx installation was found, but couldn't be matched with current compiler settings."

SpeedyFlash05 commented 1 year ago

Did you ever find a solution to this issue? I'm getting the same "Could NOT find robin_hood (missing: ROBIN_HOOD_LIBRARY ROBIN_HOOD_INCLUDE_DIR)" error, and I can't seem to download from AppVeyor as it says on all versions "The build job does not contain any artifacts."

jubbalub commented 1 year ago

Seconding this, I'm having the same issue described by the above two

Radfordhound commented 1 year ago

Thank you all very much for reporting this! Apologies for how slow I've been, life has been rough.

@SpeedyFlash05 @jubbalub

I assume the answer is "yes", but just to make sure, did you all try the fix I described previously?

There's another issue that's going to prevent it from building correctly currently, which I'm working on.

But, this fix should solve the "Could NOT find robin_hood" issue.

Please let me know if it does or not!

jubbalub commented 1 year ago

Yes, I did attempt the fix and I had the same issue.

Radfordhound commented 1 year ago

Thanks, just wanted to rule that out.

Does the Dependencies/x64/lib/cmake/robin_hood/robin_hoodConfig.cmake file exist?

If so, robin_hood was downloaded, built, and installed by the Get-Dependencies.ps1 script correctly. So, the problem is that CMake just isn't finding that file correctly for some reason.

In that case, I believe line 59 of the CMakeLists.txt file I mentioned before is still the culprit. But, it seems using CMAKE_SYSTEM_PROCESSOR there still isn't working?

Perhaps try changing it from:

"${PROJECT_SOURCE_DIR}/Dependencies/${CMAKE_GENERATOR_PLATFORM}"

to:

"${PROJECT_SOURCE_DIR}/Dependencies/x64"

(just "hard-coding" it to use x64).

That should get past the robin hood error. If that file is present, but hardcoding the path like this still results in the robin hood error, then I'm really not sure what's going on.

1XU7 commented 10 months ago

Hello Rad.. i successfuly passed the robin hood missing message, but now i get :

Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) (found version "")

do i need to setup something else on cmakelist ?

thanks!

Radfordhound commented 10 months ago

Hello Rad.. i successfuly passed the robin hood missing message, but now i get :

Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) (found version "")

do i need to setup something else on cmakelist ?

thanks!

Hey, I'm really sorry it's being such a pain to build!

Do you have the Vulkan SDK installed? If not, that error should go away after installing it and running CMake again.

However, the Vulkan SDK is only required to build HedgeRender; so if all you want to do is build HedgeLib itself, or the tools like HedgeArcPack/HedgeSet, then you shouldn't need to even install it.

You should be able to just run CMake with the HEDGELIB_BUILD_HEDGERENDER option disabled by unchecking that checkbox in the CMake GUI, or by using the -DHEDGELIB_BUILD_HEDGERENDER=OFF argument if you're running CMake from the command line. Hopefully that helps!

If you don't mind, I'd like to ask, what did you do to successfully get past the robin hood error message? I just want to know what exactly worked for you, so that I can hopefully figure out/fix that problem for others who are experiencing it. Cheers!

1XU7 commented 9 months ago

Hello Rad.. i successfuly passed the robin hood missing message, but now i get : Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) (found version "") do i need to setup something else on cmakelist ? thanks!

Hey, I'm really sorry it's being such a pain to build!

Do you have the Vulkan SDK installed? If not, that error should go away after installing it and running CMake again.

However, the Vulkan SDK is only required to build HedgeRender; so if all you want to do is build HedgeLib itself, or the tools like HedgeArcPack/HedgeSet, then you shouldn't need to even install it.

You should be able to just run CMake with the HEDGELIB_BUILD_HEDGERENDER option disabled by unchecking that checkbox in the CMake GUI, or by using the -DHEDGELIB_BUILD_HEDGERENDER=OFF argument if you're running CMake from the command line. Hopefully that helps!

If you don't mind, I'd like to ask, what did you do to successfully get past the robin hood error message? I just want to know what exactly worked for you, so that I can hopefully figure out/fix that problem for others who are experiencing it. Cheers!

Hey Rad, thanks so much, i managed to successfuly compiled... what is next?.. where can i find a the API or .. what is next ? xd. i mean.. you know.. im looking to export levels to roblox... can you guide me please...

tthanks so much!

Radfordhound commented 9 months ago

@1XU7 Hey, I'm glad to hear it worked!

I'm not familiar with Roblox's file formats, but that should be doable with HedgeLib. It'd be a lot to explain and it'd be off-topic from this issue though... do you have Discord or something where I could try to help you with that?

1XU7 commented 9 months ago

@1XU7 Hey, I'm glad to hear it worked!

I'm not familiar with Roblox's file formats, but that should be doable with HedgeLib. It'd be a lot to explain and it'd be off-topic from this issue though... do you have Discord or something where I could try to help you with that?

Hello !.. thanks so much.. Absolutely!... my discord username is "scmp7" ("scmp7 27435")

Cheers!!

MarioGladiator commented 8 months ago

@1XU7 Hey, I'm glad to hear it worked!

I'm not familiar with Roblox's file formats, but that should be doable with HedgeLib. It'd be a lot to explain and it'd be off-topic from this issue though... do you have Discord or something where I could try to help you with that?

Hello, I am a friend of @1XU7, he has requested me to add you to make a group chat with us 3 so if we can contact and make a group chat or something it would be wonderful. @1XU7's discord is "scmp7_27435" and mine is "xor1on".

MarioGladiator commented 8 months ago

@Radfordhound I have friended you on Discord, did you see the friend request I sent to you?

MarioGladiator commented 6 months ago

@1XU7 Hey, I'm glad to hear it worked!

I'm not familiar with Roblox's file formats, but that should be doable with HedgeLib. It'd be a lot to explain and it'd be off-topic from this issue though... do you have Discord or something where I could try to help you with that?

Do you still think you could help me and 1XU7?

angryzor commented 5 months ago

Basically, CMake is supposed to replace CMAKE_GENERATOR_PLATFORM with x64, but for some reason on some machines, it's instead replacing it with an empty string, eventually causing the whole script to fail.

Had the same problem. According to the documentation (https://cmake.org/cmake/help/latest/variable/CMAKE_GENERATOR_PLATFORM.html), apparently this variable is only filled in if the user specifies the -A switch on the command line:

Some CMake generators support a target platform name to be given to the native build system to choose a compiler toolchain. If the user specifies a platform name (e.g. via the cmake -A option or via the CMAKE_GENERATOR_PLATFORM environment variable) the value will be available in this variable.

Running cmake -S . -A x64 -B build fixes the issue. Maybe a default should be used by the script if the user doesn't specify this flag?