Solution not passing build
sbarisic opened this issue · comments
Can you share your process of getting NuklearDotNet to work in MonoGame? I just cloned the repo and I can't even get the examples to build. Not sure how to start with MonoGame.
The errors when I try to build ExampleShared or Example_WindowsForms:
Severity Code Description File Line Suppression State
Error C1083 Cannot open include file: 'nuklear.h': No such file or directory C:\Dev\XNA--Monogame\NuklearDotNet\NuklearDotNetRepo\Nuklear2\Nuklear.c 17
Error CS5001 Program does not contain a static 'Main' method suitable for an entry point C:\Dev\XNA--Monogame\NuklearDotNet\NuklearDotNetRepo\ExampleShared\CSC 1 N/A
Edit: If it matters, I installed NativeLibraryLoader, which is given as a requirement in the original project.
Originally posted by @kriskeillor in #14 (comment)
After cloning the git repository, you need to initialize submodules before trying to build. Original nuklear is referenced as a submodule in this repository.
If your GUI tool does not support it, run these in the console
git submodule init
git submodule update
Hello @sbarisic, thanks for the help.
I initialized the modules on your advice.
I was still getting the "Program does not contain a static 'Main' method suitable for an entry point" error.
I also noticed this diff in the ExampleShared.csproj
:
<<<<<<<<
- <OutputType>Library</OutputType>
--------
+ <OutputType>WinExe</OutputType>
>>>>>>>>
I undid this change, along with some changes to the packages I had made:
ExampleShared\packages.config
:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.DotNet.PlatformAbstractions" version="2.0.3" targetFramework="net48" />
<package id="Microsoft.Extensions.DependencyModel" version="2.0.3" targetFramework="net48" />
<package id="NativeLibraryLoader" version="1.0.13" targetFramework="net48" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net48" />
</packages>
(similar changes were made in the .csproj, all were removed)
This removed the build errors, but when trying to launch I get a warning that:
"A project with an Output Type of Class Library cannot be started directly. In order to debug this project, add an executable project to this solution which references the library project. Set the executable project as the startup project."
So, I changed the startup project from ExampleShared
to Example_WindowsForms
. This got a build launched!
I don't think the drawing is as intended however:
The SFMLExample looks great:
(is there a way to disable the console window?)
As well as the RayLib example:
So in summary:
- Initialize your git modules
- Don't use "ExampleShared" as a startup project
- Windows forms might not be working right, at least on my PC (Frame.work Win11 64 bit laptop)
Thank you again!
The windows forms example "works as intended", there is no built in way to draw a textured triangle so i gave up on a custom implementation as that would be slow.
As for the build errors, i will check that out later, could be that the last merge failed somewhere