Jump to content

Linux Steam- Creating new project doesn't create "UltraEngine.h"?


decay
 Share

Recommended Posts

7 hours ago, Josh said:

UltraEngne.h is part of the program files. The Linux project will load this header from the header search paths.

The issue is its not loading it. The project says it cant. I feel like some dependency isnt installed but Im not sure which one is needed.(I did install the ones listed in the tutorial)

Link to comment
Share on other sites

{
    "makefile.extensionOutputFolder": "./.vscode",
    "makefile.alwaysPreConfigure": false,
    "makefile.launchConfigurations": [
        {
            "cwd": "/home/josh/Documents/Ultra Engine",
            "binaryPath": "/home/josh/Documents/Ultra Engine/AppKit",
            "binaryArgs": []
        },
        {
            "cwd": "/home/josh/Desktop/beta",
            "binaryPath": "/home/josh/Desktop/beta/AppKit",
            "binaryArgs": []
        },
        {
            "cwd": "/home/james/Documents/Ultra Engine/Projects/GUI Application",
            "binaryPath": "/home/james/Documents/Ultra Engine/Projects/GUI Application/GUI Application_d",
            "binaryArgs": []
        },
        {
            "cwd": "/home/james/Documents/Ultra Engine/Projects/GUI Application",
            "binaryPath": "/home/james/Documents/Ultra Engine/Projects/GUI Application/GUI Application",
            "binaryArgs": []
        }
    ],
    "makefile.configurations": [
        {
            "name": "Debug",
            "makeArgs": ["CONFIGNAME=Debug","PRODUCT_SUFFIX=_d","CONFIGFLAGS=\"-g -D_DEBUG\""]
        },
        {
            "name": "Release",
            "makeArgs": ["CONFIGNAME=Release","CONFIGFLAGS=-O2"]
        }
    ],
    "C_Cpp.default.configurationProvider": "ms-vscode.makefile-tools",
    "files.associations": {
        "array": "cpp",
        "atomic": "cpp",
        "bit": "cpp",
        "*.tcc": "cpp",
        "bitset": "cpp",
        "cctype": "cpp",
        "chrono": "cpp",
        "cinttypes": "cpp",
        "clocale": "cpp",
        "cmath": "cpp",
        "codecvt": "cpp",
        "complex": "cpp",
        "condition_variable": "cpp",
        "csignal": "cpp",
        "cstdarg": "cpp",
        "cstddef": "cpp",
        "cstdint": "cpp",
        "cstdio": "cpp",
        "cstdlib": "cpp",
        "cstring": "cpp",
        "ctime": "cpp",
        "cwchar": "cpp",
        "cwctype": "cpp",
        "deque": "cpp",
        "forward_list": "cpp",
        "list": "cpp",
        "map": "cpp",
        "set": "cpp",
        "unordered_map": "cpp",
        "unordered_set": "cpp",
        "vector": "cpp",
        "exception": "cpp",
        "algorithm": "cpp",
        "functional": "cpp",
        "iterator": "cpp",
        "memory": "cpp",
        "memory_resource": "cpp",
        "numeric": "cpp",
        "optional": "cpp",
        "random": "cpp",
        "ratio": "cpp",
        "string": "cpp",
        "string_view": "cpp",
        "system_error": "cpp",
        "tuple": "cpp",
        "type_traits": "cpp",
        "utility": "cpp",
        "fstream": "cpp",
        "future": "cpp",
        "initializer_list": "cpp",
        "iomanip": "cpp",
        "iosfwd": "cpp",
        "iostream": "cpp",
        "istream": "cpp",
        "limits": "cpp",
        "mutex": "cpp",
        "new": "cpp",
        "ostream": "cpp",
        "shared_mutex": "cpp",
        "sstream": "cpp",
        "stdexcept": "cpp",
        "streambuf": "cpp",
        "thread": "cpp",
        "cfenv": "cpp",
        "typeinfo": "cpp",
        "valarray": "cpp",
        "variant": "cpp"
    },
    "C_Cpp.errorSquiggles": "Enabled"
}

 

Link to comment
Share on other sites

ULTRAENGINEPATH = /home/james/.local/share/Steam/steamapps/common/Ultra App Kit
SRC = Source/*.cpp
FLAGS = -I/usr/include/freetype2 -I/usr/include/fontconfig -D_ULTRA_APPKIT "-I$(ULTRAENGINEPATH)/Include"
LFLAGS = -no-pie -lX11 -lpthread -lXft -lXext -lXrender -lXcursor -ldl
OUT = GUI Application$(PRODUCT_SUFFIX)

x64: $(SRC)
	g++ $(SRC) "$(ULTRAENGINEPATH)/Library/Linux/x64/$(CONFIGNAME)/AppKit.o" -o "$(OUT)" $(LFLAGS) $(FLAGS) $(CONFIGFLAGS)

clean:
	rm -f "$(OUT)"

 

Link to comment
Share on other sites

According to this:

https://github.com/kriscross07/atom-gpp-compiler/issues/79

You might be able to make it work by inserting a forward slash before each space like so:

ULTRAENGINEPATH = /home/james/.local/share/Steam/steamapps/common/Ultra\ App\ Kit
  • Upvote 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

It still isn't working, unless I'm meant to clear the make cache or something afterwards. I restarted the project each time I changed the make file.

The exact error it gives btw is "cannot open source file "UltraEngine.h"". And I do see it in the program files like you mentioned, inside the include folder.

I feel like something here can easily be me not setting something up correctly, but I don't see any exact messages saying I need to install X thing, so im not quite sure what's happening.

Link to comment
Share on other sites

Oh yeah, there is a bit of a disconnect in vs code between the IDE and the compiler. I think there is a way to specify the header search path in one of the VSCode Jason files, just for intelligence.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

Hey everyone,

I just started installing the ultra app kit on my linux machine (manjaro) and had the same issue. Since it took me a while to piece everything together, I thought it might be a good idea to update this thread so future linux user might have it easier.

As the moment of this post the recommended c++ plugin for visual studio code is not available on the market place so you need to install it via .vsix file. The file can be downloaded on the official marketplace website under "Version History".  After downloading and installing the plugin you can repeat the steps @Ma-Shell mentioned above and edit the c_cpp_properties, by directly accessing the json file and or using the corresponding interface

There are three things we need to consider when editing the properties files:

1. Check the compilerPath variable. If you using the the x64 build target the compiler should be g++. (e.g. "usr/bin/g++").

2. Add the missing include path. Since the UltraEngine.h file is not located inside the workspace we have to add the path manually to the "includePath" variable. Simply copy and paste the value of the  "ULTRAENGINEPATH" variable in the makefile and add it to the includePath array.

3. Check the provider variable. In my case the "configurationProvider" was set to the wrong provider, it should be "ms-vscode.cpptools".  More infos about this here.

 

Hope this helps. GL coding.

One more note here. Depending on the operating system you are on, you might get a follow up error that the openal dependencies are not not found by the application. In this case check where the al.h file is located in your system. In my case it is located under /usr/include/AL and i had to adjust the file path in the framwork.h files of the ultraengine from "include openal/al.h to include AL/al.h" (line 129 - line 130) same goes for the alc header.

 

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

 

On 10/21/2021 at 1:21 AM, decay said:

It seems like it's a required file, but because this file doesn't exist, I can't really progress in using Ultra App Kit.

 

 

On 10/22/2021 at 10:38 AM, Josh said:

Oh yeah, there is a bit of a disconnect in vs code between the IDE and the compiler. I think there is a way to specify the header search path in one of the VSCode Jason files, just for intelligence.

 

I've found that opening up the file intellisense isn't detecting will usually solve the issue pretty quick as long as the IncludePath is set properly.

If you get an issue where the #include says one of it's includes can't be opened, ctrl + click into the #include to open it up, prioritizing intellisense's parsing of that specific file.  If you make structural changes of nearly any size, it can confuse the heck out of intellisense and take forever to catch up with the changes, red squiggling everything.  sometimes when this happens, I ctrl+shift+p start typing intellisense, and click "restart intellisense for active file", or if you made huge changes, "reset intellisense database".  I absolutely hate the way vscode handles intellisense. 

The important thing to note with vs code is that intellisense is not connected to the linker, unless you use cmake and select the option to configure intellisense with cmake.. So you can see red squiggles when intellisense can't find the file even though the makefile is configured properly.   Using cmake doesn't solve the problem though, unfortunately.  it's far superior to make for a few reason, but the relevant one is because if you have a designated "build" directory, you can just delete the build directory when intellisense loses it's mind, and save the CmakeLists file to auto generate the cmake files that intellisense uses when configured with cmake.

Hopefully that's clear and makes sense.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...