6

プロジェクトでzeroMQを使用したいので、次のようにconfigureを実行して、libarayをホームフォルダーにビルドします。

./configure --enable-static --disable-shared --prefix=/home/xx/out

次に、プロジェクトを次のようにリンクします

gcc -o myproject x.c y.c /home/xx/out/libzmq.a

しかし、以下のようなリンクエラーがまだたくさんあります:

../zmq/lib/libzmq.a(libzmq_la-ip.o): In function zmq::resolve_ip_interface(sockaddr_storage*, unsigned int*, char const*)':
/home/sureone/share/zeromq-2.2.0/src/ip.cpp:221: undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/home/sureone/share/zeromq-2.2.0/src/ip.cpp:222: undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
../zmq/lib/libzmq.a(libzmq_la-ip.o): In function zmq::resolve_ip_hostname(sockaddr_storage*, unsigned int*, char const*)':
/home/sureone/share/zeromq-2.2.0/src/ip.cpp:314: undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, uns

..........。

4

1 に答える 1

6

gcc -o myproject xc yc /home/xx/out/libzmq.a

ZeroMQは(明らかに)C ++を使用しているため、適切なコンパイラドライバ(g++この場合)を使用してリンクする必要があります。

これを試して:

 gcc -c x.c y.c
 g++ -o myproject x.o y.o /home/xx/out/libzmq.a
于 2012-04-23T01:19:54.210 に答える