GNU/Linux >> Linux の 問題 >  >> Linux

crt1.o:関数 `_start' 内:- Linux の `main' への未定義の参照

-nostartfiles を追加してみてください リンカーオプションに、つまり

$(LINK) -nostartfiles -g ...

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. 

これにより crt1.o が発生します リンクしない (通常はデフォルトでリンクされています) - 通常は独自の _start を実装する場合にのみ使用されます コード。


-shared .so をコンパイルするときは、link オプションを使用する必要があります。


私にとっての問題は、誤って int main() を入力したことです 名前空間で。そうしないと、この迷惑なリンク エラーが発生します。

これが誰かに役立つことを願っています:)


Linux
  1. LinuxでのPythonany()関数

  2. 最もよく使用される7つのLinux名前空間

  3. Linux –実際のメモリ使用量?

  1. Linuxでduを使用して使用済みディスク容量を確認する

  2. Linuxで-execシェル関数を見つけますか?

  3. libusb への未定義の参照

  1. 頻繁に使用される40の基本的なLinuxコマンド

  2. Linux –ライブラリ関数への呼び出しのシステム全体の監視?

  3. Linux の itoa 関数はどこにありますか?