Linker kann SDL2 scheinbar nicht finden (undefinierte Referenz von „ld“, nicht „g++“) [Duplikat]C++

Programme in C++. Entwicklerforum
Anonymous
 Linker kann SDL2 scheinbar nicht finden (undefinierte Referenz von „ld“, nicht „g++“) [Duplikat]

Post by Anonymous »

Ich bin relativ neu in C++ und versuche, ein sehr einfaches Beispielprogramm zu kompilieren, das einfach 3000 ms lang ein schwarzes Fenster anzeigt und dann beendet wird. Es lässt sich gut mit g++ -lSDL2 hellosdl.cpp kompilieren, aber ld behauptet, dass Verweise auf irgendetwas aus SDL undefiniert sind. Ich habe SDL2 mit sudo apt install libsdl2-dev installiert (wodurch Version 2.0.14+dfsg2-3+deb11u2 installiert wurde).

Code:

Code: Select all

#include 

int main(int argc, char ** argv)
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window * screen = SDL_CreateWindow("My SDL Empty Window",
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);
SDL_Delay(3000);
SDL_Quit();
return 0;
}

Compiler-/Linker-Ausgabe:

Code: Select all

$ g++ -lSDL2 hellosdl.cpp
/usr/bin/ld: /tmp/foobarbaz.o: in function `main':
hellosdl.cpp:(.text+0x18): undefined reference to `SDL_Init'
/usr/bin/ld: hellosdl.cpp:(.text+0x3c): undefined reference to `SDL_CreateWindow'
/usr/bin/ld: hellosdl.cpp:(.text+0x4c): undefined reference to `SDL_Delay'
/usr/bin/ld: hellosdl.cpp:(.text+0x50): undefined reference to `SDL_Quit'
collect2: error: ld returned 1 exit status
Ich erhalte genau die gleiche Ausgabe (außer dem Objektdateinamen), wenn ich g++ -lSDL hellosdl.cpp ausführe, was interessant ist. Es erzeugt auch genau die gleiche Ausgabe, wenn mit gcc -lSDL2 hellosdl.cpp und gcc -lSDL hellosdl.cpp kompiliert wird. Tatsächlich wird dieselbe Ausgabe erzeugt, ohne dass -lSDL*-Argumente übergeben werden. Mache ich etwas sehr falsch?
Meine gcc- und g++-Versionen sind beide g++ (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 und meine Architektur (wie von uname -a zurückgegeben) ist aarch64. Ich hoffe, dass die Informationen von Nutzen sind.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post