Can't get project to compile

Apr 28, 2013 at 5:46 AM
I'm having trouble getting the project to work as I'm new to lua and Visual studio.

But, in solution explorer for hieorglyph3 I did \SDK\Include and \Dependencies\DirectXTK\Inc
and for libs we have \SDK\Library\Debug.

But, when I run I get build errors.

I don't know what to do. Do I have to do it for all files in solution explorer? from AmbientOcclusion to WaterSimulation.

I have Directx SDK linked for all projects.
Coordinator
Apr 28, 2013 at 12:41 PM
Hi Daniel,

When you download the source code for Hieroglyph3, all of the paths and relative links from each sub-project should already be set properly to let you compile. You should be able to open the Hieroglyph3.sln file, set the startup project of your choosing, and then compile and run. So if you have already modified a bunch of settings, it may be better to start over and grab a fresh copy of the code base.

Which operating system version and visual studio version are you using? You should be running either Win7 or Win8 (Vista should work too, but I haven't tried it) with VS2012. When VS2012 installs, it also installs the Windows 8 SDK - which already includes all of the Direct3D headers and libraries that are needed for Hieroglyph. This means that you wouldn't need to install the standalone DXSDK anymore, and you also don't need to manually set the paths to the include/library directories!
Apr 28, 2013 at 1:51 PM
Edited Apr 28, 2013 at 1:52 PM
I downloaded a new copy and open the Hieroglyph3.sln file. However, I can't run any of the applications. For example, in ImmediateRenderer_Desktop it can't find #include "Log.h". I assumed I did the linking wrong.

I use windows 7 home premium and Microsoft Visual Studio Express 2012 for Windows Desktop.
Coordinator
Apr 28, 2013 at 2:08 PM
You don't have to do any linking or manual settings - it should all be ready out of the box. Which source file is saying that it can't find that include file?

It could be that the core project, Hieroglyph3, isn't being built for some reason, and that in turn doesn't copy all of the header files to the SDK directory. In that case, you should have an error reported for Hieroglyph3 somewhere at the top of the build log.

Can you do a 'rebuild all' and post the resulting debug window output?
Apr 29, 2013 at 9:28 AM
2>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(12): warning C4005: 'DXGI_STATUS_OCCLUDED' : macro redefinition
2> c:\program files (x86)\windows kits\8.0\include\shared\winerror.h(49449) : see previous definition of 'DXGI_STATUS_OCCLUDED'

24>c:\users\daniel\desktop\hieroglyph3-83248\trunk\hieroglyph3\applications\particlestorm\particlesystemactor.cpp(12): fatal error C1083: Cannot open include file: 'PCH.h': No such file or directory
24> Generating Code...
========== Rebuild All: 1 succeeded, 23 failed, 0 skipped ==========

I rebuild, but get a lot of errors. I can't build any of the projects without getting an error.


I have this as inherited values in the include directories.
C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSDK_IncludePath)

I was thinking that having Microsoft DirectX SDK there is messing everything up. I changed some setting in Microsoft visual c++ 2010 to include DirectX SDK in all my projects. However, I don't know if that would cause a problem with VS2012.
Coordinator
Apr 30, 2013 at 1:16 AM
That is probably the problem. Please download a completely new copy of the source code, open the Hieroglyph3_Desktop.sln, and then hit F7. Don't modify any settings at all - that is all handled by the Windows 8 SDK now, and you won't need to change anything.

Please try this and let me know if it works.
Jun 14, 2013 at 11:59 AM
Edited Jun 14, 2013 at 2:03 PM
Do you run applications through Application/Bin and use .exe.

As I can't work out how you get it to run through build process. I build Hieroglph3_Desktop.sln and it builds correctly and there is no errors. However, when I run an application I get it saying it can't find Hieroglph3_Desktop.lib as an error. But, if I go into Application/Bin in the folder there are .exe, which I can then run the applications.

Was wondering how you build applications.
Coordinator
Jun 14, 2013 at 10:26 PM
You are almost there! So now it builds ok, and the debugger is trying to run the results of the project that is selected as the 'startup project'. At the moment, the Hieroglyph3 library project is selected as the startup. This won't work since that produces a static library file. Instead, you want to choose one of the application projects. You can do this by right clicking on the project (such as WaterSimulationI for example) and selecting 'Set as startup project'. That should finally let you start running from within the debugger.

Note that you can also run the .exe files outside of the debugger too. If you go to Hieroglyph3/Applications/Bin, you can just double click on the .exe files and they should run also. These files get copied into that folder in a post-build event, and they should run without any other file movement or anything like that. Try it out and let me know if it works for you!
Jun 14, 2013 at 11:13 PM
Thanks it works perfectly fine now.