Coba tambahkan -nostartfiles
ke opsi penaut Anda, mis.
$(LINK) -nostartfiles -g ...
Dari dokumentasi gcc:
-nostartfiles
Do not use the standard system startup files when linking. The standard system libraries are used normally, unless -nostdlib or -nodefaultlibs is used.
Ini menyebabkan crt1.o
tidak untuk ditautkan (biasanya ditautkan secara default) - biasanya hanya digunakan saat Anda mengimplementasikan _start
Anda sendiri kode.
-shared
opsi tautan harus digunakan saat Anda mengompilasi .so
Masalahnya bagi saya adalah, saya secara tidak sengaja memasukkan int main()
dalam ruang nama. Pastikan jangan lakukan itu jika tidak, Anda akan mendapatkan kesalahan tautan yang mengganggu ini.
Semoga ini bisa membantu siapa saja :)
periksa apakah VT-x diaktifkan tanpa harus reboot di Linux?
bagaimana cara melindungi cpu dari penjadwal linux (mencegahnya menjadwalkan utas ke cpu itu)?