プログラムのコンパイルに次のコマンドを使用しました。
gcc -g -Wall -Werror -lpthread multi_thread_server.c -o multi_thread_socket_v4
undefined reference to <function_name>
エラーが発生しました。
エラーを修正するために多くの試行錯誤を繰り返した後、最終的に(誤って)オプションをgcc
次のように再配置しました。
gcc multi_thread_server.c -lpthread -Wall -Werror -o multi_thread_server -g
そしてそれはうまくいきました。
SO でこの質問を読みましたが、なぜそれが起こったのか理由がわかりました。
ここで知りたいのですが、使用されるオプションの順序に規則はありますgcc
か?
PS: には無限のオプションがあることはgcc
知っています。オプションのカテゴリに応じた順序を知りたいです。