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

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

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

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

解決済

自作ライブラリを作成してコンパイルしてビルドしたい

samidare_chan
samidare_chan

総合スコア278

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

2回答

0リアクション

0クリップ

440閲覧

投稿2022/08/05 05:35

編集2022/08/05 09:47

「Color.cppとColor.hpp ncursesライブラリ」を静的ライブラリにしてそれをMain.cppで使いたいのですが以下の実行してコマンド部まではうまく行くのですがエラー部のようにMain.cppをコンパイルするが出来ず参考サイトように.oファイルと一緒にビルド出来ません。
これはどうやるのでしょうか?

やりたいこと

「Color.hpp Color.cpp ncursesライブラリ」という静的ライブラリを生成して
それをMain.cppで使いたい

参考サイト: https://www.yunabe.jp/docs/static_library.html

エラー
Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $ g++ Main.cpp /usr/bin/ld: /tmp/cc9IT7mN.o: in function `main': Main.cpp:(.text+0x8): undefined reference to `init_colorpairs()' collect2: error: ld returned 1 exit status Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $ g++ Main.cpp -ltest.a /usr/bin/ld: -ltest.a が見つかりません collect2: error: ld returned 1 exit status Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $ g++ Main.cpp test.a /usr/bin/ld: test.a(Color.o): in function `init_colorpairs()': Color.cpp:(.text+0x68): undefined reference to `init_pair' /usr/bin/ld: test.a(Color.o): in function `setcolor(int, int)': Color.cpp:(.text+0x1cc): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x1d0): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x1f8): undefined reference to `wattr_on' /usr/bin/ld: Color.cpp:(.text+0x218): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x21c): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x22c): undefined reference to `wattr_on' /usr/bin/ld: test.a(Color.o): in function `unsetcolor(int, int)': Color.cpp:(.text+0x254): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x258): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x280): undefined reference to `wattr_off' /usr/bin/ld: Color.cpp:(.text+0x2a0): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x2a4): undefined reference to `stdscr' /usr/bin/ld: Color.cpp:(.text+0x2b4): undefined reference to `wattr_off' collect2: error: ld returned 1 exit status Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $
実行したコマンド
Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $ g++ -c Color.cpp Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $ ar rcs test.a Color.o Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $
tree
Shigurechan@Shigurechan:~/Project/ConsoleGame/lib $ tree . ├── Color.cpp ├── Color.cpp~ ├── Color.hpp ├── Color.o ├── Main.cpp ├── Main.cpp~ └── test.a

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/08/06 02:17

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。