0

SimpleSocketsを使用する Code::Blocks で C++ プログラムを作成しようとしています。私のプログラムのファイルは、私のプログラム、main.cpp、simplesocket.cpp、passivesockets.cpp、activesockets.cpp、simplesocket.h、passivesockets.h、activesockets.h にあります。これらのファイルはすべて同じディレクトリにあり、引用符 (#include "simplesocket.h") を使用して main.cpp に含まれています。コンパイルしようとすると、次のエラーがいくつか発生します。

-------------- ビルド: sys32 でデバッグ ---------------

g++.exe -Wall -g -I"C:\Documents and Settings\Administrator\My Documents\Downloads\curl-7.27.0-devel-mingw32" -IC:\MinGW\mingw32 -IC:\MinGW\lib\gcc \mingw32 -IC:\MinGW\lib\gcc\mingw32\4.7.0 -IC:\MinGW\lib\gcc\mingw32\4.7.0\include -IC:\MinGW\lib\gcc\mingw32\4.7.0\ include\c++\backward -IC:\MinGW\lib\gcc\mingw32\4.7.0\include\c++\mingw32 -c C:\system32\sys32\main.cpp -o obj\Debug\main.o ファイルに含まれるC:\system32\sys32\ActiveSocket.h:46:0 から、C:\system32\sys32\main.cpp:2 から:

`_htons@4 への未定義の参照

`_inet_addr@4 への未定義参照

`_inet_addr@4 への未定義参照

への未定義の参照..............

への未定義の参照..............

これらのエラーは、SimpleSockets.cpp、PassiveSockets.cpp、および ActiveSockets.cpp から発生しています。StackOverflow で見つけたものから、このタイプのエラーはリンク エラーです。ファイルがプロジェクトに追加されているこの投稿が見つかりましたが、それは機能しません。StackOverflow には多くのものがありますが、それを機能させる方法が見つからないようです。code::blocks で他の .cpp ファイルを手動でリンクできる場所を探しています。どうなるかを見るために、コンパイラを migw32-g++ から g++ に変更してみました。

-lw2_32.lib コマンドを使用してビルドも試みましたが、それでも同じエラーが発生します。以下は、そのコマンドを追加した後の出力です。

-------------- ビルド: sys32 でデバッグ ---------------

g++.exe -Wall  -g  -lws2_32.lib   -I"C:\Documents and Settings\Administrator\My Documents\Downloads\curl-7.27.0-devel-mingw32" -IC:\MinGW\mingw32 -IC:\MinGW\lib\gcc\mingw32 -IC:\MinGW\lib\gcc\mingw32\4.7.0 -IC:\MinGW\lib\gcc\mingw32\4.7.0\include -IC:\MinGW\lib\gcc\mingw32\4.7.0\include\c++\backward -IC:\MinGW\lib\gcc\mingw32\4.7.0\include\c++\mingw32  -c C:\system32\sys32\PassiveSocket.cpp -o obj\Debug\PassiveSocket.oIn file included from C:\system32\sys32\ActiveSocket.h:46:0,from C:\system32\sys32\PassiveSocket.h:45,from C:\system32\sys32\PassiveSocket.cpp:43:

PassiveSocket.cpp:70: undefined reference to htons@4
PassiveSocket.cpp:78: undefined reference to htonl@4
PassiveSocket.cpp:82: undefined reference to inet_addr@4

助けてくれてありがとう。

4

2 に答える 2

0

-lws2_32.libコンパイル中に入れます。

于 2012-10-20T00:47:55.107 に答える