質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

マルチスレッド

マルチスレッドは、どのように機能がコンピュータによって実行したのかを、(一般的にはスレッドとして参照される)実行の複合的な共同作用するストリームへ区分することが出来ます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

3回答

24784閲覧

c++プログラムのエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

マルチスレッド

マルチスレッドは、どのように機能がコンピュータによって実行したのかを、(一般的にはスレッドとして参照される)実行の複合的な共同作用するストリームへ区分することが出来ます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/09/15 11:43

以下のようなエラーが度々でてしまうのですが原因はなんなのでしょうか?

Error

1undefined reference t' 2/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command lie 3collect2: error: ld returned 1 exit status

ちなみにコンパイルだけであれば-lpthreadの部分を
-pthreadに変更するとなぜか通ります。
自分の解釈では-lpthread というように記述することによりincludeをした際に
/usr/lib/-----
を探しにいくことでなにか原因がありErrorがおこっているのか?と思いました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

-lpthreadオプションと-pthreadオプションはその挙動が微妙に異なります。マルチスレッドアプリケーションのビルドでは、できる限り-pthreadオプションの指定をおすすめします(-lない方)。

  • -lpthreadオプションは、リンク時にのみ影響します。共有ライブラリlibpthread.soへの動的リンク指示を埋め込みます。
  • -pthreadオプションは、コンパイル時とリンク時の両方に影響します。上記-lpthread相当に加えて、マルチスレッドサポートに必要なマクロを自動的に定義します。このマクロ定義が他の標準ライブラリに影響を与える可能性があります。

投稿2015/09/25 02:23

編集2015/09/25 02:24
yohhoy

総合スコア6189

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

外れかもしれませんが・・・
FLAGS = -L /lib64
LIBS = -lusb-1.0 -l pthread
参考ページ

投稿2015/09/15 21:16

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

OSのバージョンは何なんでしょうか?64bit版のOSなのではありませんか?
推測なので的外れならごめんなさい。

リンクしようとしているライブラリのバージョンが違うためのエラーだと思うので、試しに、-L/lib64 フラグを付けてコンパイルしてみてください。

ちなみに、-pthread オプションに変えると正しいバージョンのライブラリ(/lib64 配下)を探しに行くのでエラーが出なくなるのではないかと思います。

投稿2015/09/15 12:27

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/15 12:35

回答ありがとうございます。 ご指摘を試してみたのですがエラーは消えないままでした... ちなみに-pthreadでコンパイルを通っても実行をしようとすると /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f84b2936340] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f84b2597cc9] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f84b259b0d8] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x5e836) [0x7f84b2db8836] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x5e863) [0x7f84b2db8863] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x5eaa2) [0x7f84b2db8aa2] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f84b2582ec5] Aborted (core dumped) というエラーがでてしまい実行ができません...
pi-chan

2015/09/15 14:42

ご使用のOSのバージョン、コンパイラーに渡している全てのオプション、ソースのうちせめて何をincludeしているかなど、最低限の情報がないと調査しようがないです。 もう少し具体的な情報はご提示頂けないものでしょうか?
退会済みユーザー

退会済みユーザー

2015/09/17 06:11

遅れまして申し訳御座いません VersionはUbuntu 14.04.1 オプション -lpthread -lm -g -Wall ソースでは自作のライブラリ以外ですと include <iostream> #include <sstream> #include <fstream> #include <string> #include <iomanip> #include <cstring> #include <cstdio> #include <cstdlib> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <signal.h> #include <pthread.h> #include <unistd.h> #include <errno.h> #include <math.h> #include <queue> になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問