Idiots guide to Hello World

Hello,
Brand new to Urho3D here.
Already struggling as I am unable to find a hello world to compile my first project.
Please provide a link to the idiots guide to compiling the first “Hello World” project on a windows 10 system.

Many Thanks.

If you want to have your project inside Urho3D, maybe look into sample folder and create your own folder to mimic.

If you want to build Urho3D as external lib and link to your project, maybe take a look to the project structure of

Hello Penny, and welcome to the forum! :confetti_ball:

The docs are not terribly easy to find in the first place. :slight_smile:
After building Urho3D, the section Using Urho3D Library is official reference for setting up and building a project. [Note: it is temporarily outdated in that it refers to build scripts (*.bat *.sh) once in the Urho3D root directory that were moved to Urho3D/script, so could change your command invocation slightly.]

Indeed, Urho3D Project Template is active and filling with useful features.

Let us know how it goes?

Thank you for your replies.

I looked at the GitHub thing and yes I could download the files but then I would not have a clue what to do with them and there are no instructions, this is why I am asking for an idiots guide.

I looked at the “docs” link and how to get started. The first line mentions Windows and visual studio with no further links. The second line mentions Linex. Then is raspberyPI and then macOS and then it just goes on and on and I was confused at the second line.

Just a simply idiots guide would be perfect. I see visual studio was mentioned, wheres the visual project to download that would have everything already setup within?

What is cmake? alright, I know, but the instructions say, use cmake, and my question is how? and there is no explaination on how to use cmake.

Just a simply idiots guide step by step from downloading to files from the github to executing the final result would be awesome.

Thank you.

Download the https://cmake.org/ and https://visualstudio.microsoft.com/ virst

Building the engine

  1. Download the source code from https://github.com/urho3d/Urho3D
  2. Unzip the source code
  3. Go to the unzipped directory
  4. Run script\cmake_vs2019.bat build from the terminal in the same directory
  5. It will create build subdirectory in your current location
  6. Open the build directory in the file explorer and open the Urho3D.sln file in Visual Studio and compile the project

For instance let’s say that Urho3D project is built in C:\Urho3D\build directory

Download the sample project

  1. Download the source code from https://github.com/ArnisLielturks/Urho3D-Project-Template
  2. Unzip the source code
  3. Go to the unzipped directory
  4. Run script\cmake_vs2019.bat build -DURHO3D_HOME=C:\Urho3D\build from the terminal in the same directory
  5. It will create build subdirectory in your current location
  6. Open the build directory in the file explorer and open the ProjectTemplate.sln file in Visual Studio and compile the project

Let’s not forget the wiki, it also contains practical information for beginners.
If you’re using QtCreator, these wizards may be useful as well.

And of course, welcome to the forums! :confetti_ball: :smiley:

The disadvantage of this engine is that the first step is difficult. Cmake is still unfamiliar to many Windows users. If someone write a simple fool tutorial to teach novices to compile examples, it is estimated that there will be more users. The documentation on how to build the engine library is too complicated for users unfamiliar with cmake, which will discourage a group of potential users / contributors.

I think we can’t say that.
I’m an idiot in C++ when I started.

I set up Urho3d using cmake gui on windows without any issue, while using the document. So I think it need a little bit of trial and error, and determination.

The make build always works, thanks to Wei.

2 Likes

I agree, there is definitely a steep learning curve for the engine if someone is new to C++ and/or CMake. But I don’t think that means we should not have CMake, for example - what would the alternative be? A visual studio file you must manually edit to get the proper build flags and files, which only works on Microsoft’s IDE? We certainly can’t make the case that C++ has a steep learning curve, so we should use a different language for the engine, and I think it’s similar for CMake.

I do agree, though, there could definitely be a better tutorial setup, if not in the Docs then in the Wiki/forum. Fortunately anyone is welcome to add to the former, and this thread provides the latter :slight_smile:

We don’t need to give up cmake, cmake is fine. I think we should give newbies a simple start. For example, the beginning of the document should be:
1.install visual studio and cmake,
2.enter “cmake …” command,
3. Open and compile with visual studio.
so they can build the engine and examples with simple operations. Then go into the detailed build options. They don’t even need to learn C ++ to do the above tasks. They can see the face of the engine. Like the first helloworld example in the c programming language book, this should be the best.

The wiki is a wiki.

Thank you all for your responses.

Miehamicis replied with the closest thing to an idiots guide so I proceeded with the mind for success. Here are the results…

#1 Downloaded from the link. Without this guide what I had actually downloaded was Urho3D-1.7.1 and not the master. What I previously downloaded is what is provided when I used the download link on the main page. It does not hold the script directory.

#4 This is what I tried adjusting for my system…

X:\test1>\urho3d-master\script\cmake_vs2019.bat build -DURHO3D_HOME=X:\Urho3D-master\build
‘cmake’ is not recognized as an internal or external command,
operable program or batch file.

Whilst urho3d-master has the script directory it does not have the build directory.

I was not successful and now I am stuck.
Please help me more with this idiots guide.
Thank you for your understanding.

You’re missing CMake. If you did not install it do so now. If you did, ensure that the directory containing cmake is included in the PATH environment variable (some directions here for adding directories to the path if you’re not familiar with it).

The build directory is expected to not exist - the build script creates it.

If you want, you can also use the cmake-gui to run CMake, though you don’t get the the scripts automatically picking the right compiler and flags for the build for you. My preference is to use the scripts to initially create the build (which sets the right stuff for web builds and such for me by picking the right script), then I modify build flags like a shared vs static build using the GUI.

We need to review what noob guidance CMake itself actually has. “Learn how to use CMake” is a perfectly valid thing to tell people to do, same as learn C++. Thing is, people here are giving causal advice to do command line CMake stuff, and that’s complete nonsense. CMake has a GUI tool. It’s pretty straightforward to use, at least as far as build systems go, if you’ve been briefed on the basic method of operation. Which is something cmake.org should have as a readily available material. I hope they have it, I’ll go check later. Something that could derail that agenda, is their historical tendency to sell books on how to use CMake, to make money.

Ok unfortunately pointing a complete noob at cmake.org is not a kind thing to do. Kitware is oriented towards convincing business managers to switch to a CMake build system, and earning consulting fees helping businesses make that switch. The documentation is fine for someone who already knows what a build system is and how to swim through tech stuff in general, but it’s not geared towards a noob game developer at all. Probably Kitware has put all the “digestible” stuff into their Mastering CMake book, which you have to pay for.

I don’t know if a third party “CMake noob tutorial” is available somewhere. I had a major falling out with Kitware a long time ago. I got kicked off their mailing list back in the day. Yes I used to be a CMake big deal once upon a time, but not since 2008. Pretty sure I threatened to write a “free noob book” at one point, before the end. That’s why I can always “hum a few bars” about CMake and feel other people’s pain, but I’ve never committed to becoming someone’s CMake buildmaster again. It was a career dead end for me. Has tons to do with why I live out of a car and am broke now.

Ok, I found that web searching for “cmake tutorial” was generally not helpful. It’s always stuff about how to write a build system in CMake. Nobody wants to know about that just to build an existing project.

It seems that what you need to web search to get useful info, is “running CMake”. Then for instance you might chance upon the proper section of official documentation, which looks reasonably sane. https://cmake.org/runningcmake/

See if that’s enough to get you started. If it isn’t, there are videos on YouTube that you can find, using the same search term. I’m not going to recommend one, because I haven’t gone through them. I don’t know which a noob would consider to be easier or harder to follow. I just know that they are out there, and YMMV.

Not a comment on your answer, which seems useful, but on the cmake documentation - they seem to have completely avoided the fact that there are cmake-gui programs available on Linux, as if Windows users are the only ones who would want a GUI. Granted, they did specify the directions for Unix, not Linux, so maybe that’s why…
That was just from a quick read, so feel free to correct me if I missed something in the document.

ccmake is a GUI. It’s just ugly. I don’t think the existence of the prettier cmake-gui on Unixes bears too much comment, since they are trying to cover every system out there, and also want you to buy their book. Wouldn’t shock me if that documentation hasn’t been updated in quite some time, and nobody felt like writing the cmake-gui on Unix section.

Excellent!!

Ok this is my idiots guide so far…

for Windows 10 x64
#1 goto https://cmake.org/runningcmake/
#2 click on download Windows 10 x64 version msi
#3 install and ensure “add to path” is selected
#4 goto *ArnisLielturks/Urho3D-Project-Template and download
#5 unzip to desird location
#6 goto location in command prompt and run “script\cmake_vs2019.bat build -DURHO3D_HOME=C:\Urho3D\build” adjusting paths

Miegamicis final step is to open “ProjectTemplate.sln” using visual studio but there is no such file
There is however CompilerIdC.vcxproj, CompilerIdCXX.vcxproj which seem the closest to Visual Studio files.

Thanks so much for your help so far but we still not quite there.
What do I need to do to overcome this last hurdle?

ps, do I have to use visual studio? Am I able to simply use notepad?

This is what I am talking about!