Linkerproblem MIT C++

Hallo zusammen

Möchte einen Code mit Clang kompilieren. Andere Fehler sind weg, jetzt macht er mir sowas hier:

ld.lld: error: undefined symbol: operator new(unsigned long long)
>>> referenced by C:/Users/HASSOB~1/AppData/Local/Temp/main-95fb8d.o:(SomeText::operator<<(char))
>>> referenced by C:/Users/HASSOB~1/AppData/Local/Temp/main-95fb8d.o:(ReadDir::initItemInfo())
>>> referenced by C:/Users/HASSOB~1/AppData/Local/Temp/main-95fb8d.o:(char* new_<char>(int, bool))
>>> referenced 3 more times

ld.lld: error: undefined symbol: operator new[](unsigned long long)
ld.lld: error: undefined symbol: operator delete[](void*)
ld.lld: error: undefined symbol: operator delete(void*)
etc.

Ein „undefined symbol“ ist ja generell ein Linkerfehler.
Aber was habe ich bitte mit new/delete zu schaffen?
Die üblichen Headers sind natürlich drin.

Hier noch die Batchdatei:

@cls
@del a.exe
@C:\upp-win-16660\upp\bin\clang\bin\clang.exe main.cpp -I F:\cpp\include  -lgdi32 -ladvapi32 -lshell32 -lwinmm -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32 -lglu32 -w -fpermissive 2> F:\cpp\return.txt
@a.exe

lG MartinX

1 Like

eigentlich findest du mit Suchmaschinen da schon gute Ergebnisse. Bei stackoverflow zB

https://duckduckgo.com/?q=ld.lld%3A+error%3A+undefined+symbol%3A+operator+new(unsigned+long+long)+&t=newext&atb=v305-1&ia=web

hier zB das:
https://stackoverflow.com/questions/27390078/gcc-compiling-c-code-undefined-reference-to-operator-newunsigned-long-lon

>> You can add just the library with -lstdc++,

@oldy22: hast recht, hätte ich suchen können. Ich werde das einmal ackern. Danke dir für die Mühe.
lG Martin

1 Like

Trotzdem nett - seit langem mal wieder ne nette Frage hier.
Gern geschehen! :slight_smile: