Programming Help

44 readers
3 users here now

There are no stupid questions.

founded 1 year ago
MODERATORS
1
0
gcc build not working (self.programminghelp)
submitted 3 months ago by PINKeHamton to c/programminghelp
 
 

hello im working on a raylib project and its not building file tree

.
├── bin
│   └── GameData
├── data
│   ├── assets
│   ├── audio
│   ├── config.ini
│   └── maps
├── doc
├── include
│   ├── raylib.h
│   ├── raymath.h
│   ├── rayphysfs.h
│   └── rlgl.h
├── lib
│   ├── linux
│   │   ├── cimgui
│   │   └── raylib
│   │       └── libraylib.a
│   └── win
│       ├── desktop.ini
│       └── libraylib.a
├── makefile
└── src
    ├── debug.c
    ├── debug.h
    └── main.c

# make linux output

rnorton@NorwegianWood ~/Code/NeoManic $ make linux
gcc -I include/ -L lib/linux/raylib/ -lraylib src/*.c -o NManic
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: /tmp/cc9QZWYj.o: in function `DebugToggle':
debug.c:(.text+0x13): undefined reference to `IsKeyPressed'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: debug.c:(.text+0x4f): undefined reference to `DrawFPS'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: debug.c:(.text+0x90): undefined reference to `DrawText'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: /tmp/cc9QZWYj.o: in function `TermToggle':
debug.c:(.text+0xb4): undefined reference to `IsKeyPressed'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: debug.c:(.text+0x11d): undefined reference to `DrawRectangle'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: /tmp/ccXb6Bo0.o: in function `main':
main.c:(.text+0x3e): undefined reference to `SetConfigFlags'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x57): undefined reference to `InitWindow'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x66): undefined reference to `SetWindowMinSize'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x70): undefined reference to `SetTargetFPS'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x7a): undefined reference to `SetExitKey'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x9c): undefined reference to `LoadRenderTexture'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0xa6): undefined reference to `GetScreenWidth'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0xc8): undefined reference to `GetScreenHeight'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0xeb): undefined reference to `GetScreenWidth'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x107): undefined reference to `GetScreenHeight'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x15c): undefined reference to `BeginTextureMode'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x187): undefined reference to `ClearBackground'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x19e): undefined reference to `EndTextureMode'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x1a3): undefined reference to `BeginDrawing'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x1ff): undefined reference to `GetScreenWidth'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x24a): undefined reference to `GetScreenHeight'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x3b1): undefined reference to `DrawTexturePro'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x3de): undefined reference to `ClearBackground'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x3ed): undefined reference to `EndDrawing'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x3f2): undefined reference to `WindowShouldClose'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x438): undefined reference to `UnloadRenderTexture'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: main.c:(.text+0x441): undefined reference to `CloseWindow'
collect2: error: ld returned 1 exit status
make: *** [makefile:6: linux] Error 1

# makefile linux args

gcc -I include/ -L lib/linux/raylib/ -lraylib src/*.c -o NManic
2
 
 

I have currently:

A Class with multiple functions A Decorator that saves the function to a list

The problem:

When i call the function "this" is not the class ( or not yet initialized )

How can i implement it correctly?

My Class Function Decorator:

export function LemmyOn(data: ILemmyOn) {  

  return function (  
    target: Object,  
    propertyKey: string | symbol,  
    descriptor: TypedPropertyDescriptor<any>  
  ) {  

    events.push({ data: data, fn: descriptor.value });  
    return descriptor;  
  };
}