驚くほど小さなハッキングの後、私はlibC++を自分のLinuxボックスにインストールすることができました(libstdC++には欠けているものがあります)。残念ながら、同じ名前の関数のため、既存のコードの一部が壊れています。libC++ - bind()の命名が競合していますか?
通常、必要な方法でbind()はソケットに関連します。しかし、libC++には基本的にはthisという独自のbind()関数が付いていましたが、便利な名前空間はありません。 Murphyの法則に従って、コンパイラは誤った関数を使用しようとし、エラーを吐き出します。 NetBeansはsys/socket.hファイルを実際に探しているので、問題はありません。
どちらの関数も基本的に私のコントロールの範囲を超えていますが、コンパイラ(clang ++)に特定のヘッダとその関数のどこにもないはずがないと教えてください。
ディレクトリの順序とリンク順序が含まれます。このエラーはどの段階で発生しますか? –
@honk私はディレクトリの順序とリンク順のすべての順列を、それを解決する可能性のあるオフチャンスで試しました。運がない。私が知る限り、 "-stdlib = libC++"コンパイラオプションは、ファイルで設定できるものよりも優先されます。 – DigitalMan
libC++の 'bind()'は 'std'名前空間にあります。ソケットの 'bind()'はグローバル名前空間になければなりません。 'using namespace std;'をどこに使っていますか? – bames53