Visual Studio Code Mac probleme?

1 Antwort

ld: Undefined symbols:

ld ist der Linker, der hier Probleme hat das Object zu linken, es gibt Probleme mt einem Symbol.

_main, referenced from:

Es geht um den Entrypoint.

Beistzt Dein Main.c denn eine Funktion mit dem Prototyp:

int main(void); /* oder */
int main(int , char *[]);

?


verreisterNutzer  10.10.2023, 17:16

_main, referenced from:

   <initial-undefines>

clang: error: linker command failed with exit code 1 (use -v to see invocation)

KarlRanseierIII  10.10.2023, 17:26
@verreisterNutzer

Hast Du es mal unter Umgehung der IDE versucht, ob der Compiler überhaupt in der Lage ist?

exemplarisch:

echo 'int main(){}'|gcc -xc -o test -

sollte ein Binary test erzeugen. Wenn es dabei schon hapert, dann können wir zumindest die IDE als Ursache ausschließen.

verreisterNutzer  10.10.2023, 17:33
@KarlRanseierIII

ld: Undefined symbols:

 _main, referenced from:

   <initial-undefines>

clang: error: linker command failed with exit code 1 (use -v to see invocation)

KarlRanseierIII  10.10.2023, 17:36
@verreisterNutzer

Okay, dann scheint irgendwas mit dem Compiler im Argen zu liegen, was mich nur wundert, daß clang und gcc sich gleichermaßen beschweren.

Wenn ich jetzt angenommen hätte, daß ein Problem im Bereich der Linker-Scripts vorliegt, dann sollte zumindest bei cland (sofern lld genutzt wird) ein abweichendes Verhalten zu sehen sein.

Im Zweifelsfall würde ich Dir aber nahelegen eien spezialisiertere community rund um MacOS zu fragen, falls sich ier sonst niemand meldet.

verreisterNutzer  10.10.2023, 17:16

#include<stdio.h>

int main() {

printf("Hello World!");

return 0;

}

Bin neu so sieht mein Code aus

KarlRanseierIII  10.10.2023, 17:18
@verreisterNutzer

Okay, das sieht soweit richtig aus, _main scheint aauch so etwas MacOS-spezifisches zu sein. Kann es sein, daß man irgendeinen Header zwingend einbinden muß, weil das normale main() nochmal gewrapped wird oder so?