aws / lumberyard

Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source.
Other
2.02k stars 540 forks source link

Compile the game code needs dependencies from Engine and tools to compile #471

Closed gitrndlab closed 4 years ago

gitrndlab commented 4 years ago

Describe the bug When you create a new project and want to configure it by "waf configure" and then compile it there will be some needed dependencies as Qt libraries to compile it - so it will fail. So the only way to configure and compile a new project is to configure it with Editor tools dependencies via for e.g. Setup Assistant which make longer compilation time.

Steps to reproduce

  1. Create new empty project.
  2. Select only "Compile the game code" in Setup Assistant (and two option to run project and editor).
  3. lmbr_waf configure
  4. lmbr_waf build_win_x64_vs2017_profile -p game

Expected behavior Successful create VS solution and compile the project with minimal dependencies..

Screenshots/Logs

Build failed
<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>
Compilation failed - File: 'AutoCustomWindowDecorations.cpp.9426794.obj', Module: 'AzQtComponents', Configuration: 'win_x64_vs2017|profile', error code 2
    Input Files:   'i:\Amazon\lumberyard\dev\Code\Framework\AzQtComponents\AzQtComponents\Components\AutoCustomWindowDecorations.cpp'
    Output Files:      'i:\Amazon\lumberyard\dev\BinTemp\win_x64_vs2017_profile\Code\Framework\AzQtComponents\AzQtComponents\Components\AutoCustomWindowDecorations.cpp.9426794.obj'
        Output:
                AutoCustomWindowDecorations.cpp
i:\Amazon\lumberyard\dev\Code\Framework\AzQtComponents\AzQtComponents/Components/AutoCustomWindowDecorations.h
                i:\Amazon\lumberyard\dev\Code\Framework\AzQtComponents\AzQtComponents/Components/AutoCustomWindowDecorations.h(13): fatal error C1083: 'QObject': No such file or directory

Lumberyard version 1.23.1

AMZN-alexpete commented 4 years ago

Hi @researchdeveloping, it appears in the game spec there are gems that must be compiled with editor functionality and have their own editor plugins which require Qt. The issue here appears to be that the SetupAssistant is misleading in that you can't build a new project with all gems enabled and with only 'compile game' selected because some gems require dependencies from the 'compile editor and tools' configuration. We're looking into better ways to communicate gem dependencies in the Setup Assistant. For now the safest thing is to enable compiling the engine and editor in SetupAssistant so you get the extra 3rd Party libraries.