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

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

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

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

Linux

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

C++

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

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

1回答

1121閲覧

RaspberryPi環境で環境を壊さずcurl.hだけをインストールする方法

b452452

総合スコア39

cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

Linux

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

C++

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

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2022/08/29 05:34

前提

  • 別の人が利用していたRaspberryPi実機
  • curl -Vで、curlの1つ前のバージョンがインストールされているのを確認済
  • findコマンドでcurl.hを探しても無い
  • RaspberryPiのCPU:aarch64
  • C++でcurlを利用するために以下を記述したcppファイル有り
#include <curl/curl.h>

実現したいこと

RaspberryPi環境でcurl.hだけをインストールする方法が知りたいです。
インストール後、既存で入っているcurlのアップデートや編集をせず、curl.hだけをインストールする方法はないでしょうか。

発生している問題・エラーメッセージ

cppをコンパイルすると以下が出ます

$ g++ -o out main.cpp -lcurl.h curl/curl.h: No such file or directory #include <curl/curl.h>

試したこと

別環境(x86-x64)のまっさらなlinuxサーバではcurlをapt-getでインストールするとcurl.hファイルもインストール先に生成され、それを指定することでcppファイルのコンパイルができました。

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

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

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

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

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

b452452

2022/08/29 05:36

すみません、コンパイルのコマンドは以下が正しいです × g++ -o out main.cpp -lcurl.h 〇 g++ -o out main.cpp -lcurl
b452452

2022/08/29 08:23

すみません、こちらの投稿を確認しておりませんでした... 一度確認いたします。 ありがとうございます。
b452452

2022/08/29 08:33

記事の通り確認したのですが、curl.hはありませんでした。 再インストールも検討したいと思います。 ありがとうございます。
jbpb0

2022/08/29 08:58

今入ってるのと同じバージョンを再インストールするのなら、 > 既存プログラムが動かなくなる という懸念は無くなりますよね
b452452

2022/08/29 09:06

ありがとうございます。 同じバージョンであれば問題ないのですね。 Linuxの知識が疎く、インストールしたときにどういうファイル操作等が行われるのか網羅しておらず避けておりました。 その辺りも調べて再インストールを検討しようと思います。
jbpb0

2022/08/29 09:35 編集

> 同じバージョンであれば問題ないのですね。 あれ? 最新バージョンを入れたら、バージョンが変わって既存プログラムが動かなくなることを懸念してるのではないのですか? 以前curlを入れた人が、入れた後にいろいろ触ってたら、それは再インストールでどうなるのかは分かりません インストールの副作用が気になるなら、インストールする前に、今のSDカードのバックアップを作っておくといいですよ 万が一環境が壊れたら、元に戻せるように
b452452

2022/08/29 09:42

仰る通り、いろいろ触っていることも考えられます。 バックアップが頭から飛んでいました。 取り急ぎバックアップだけ取っておこうと思います。 ありがとうございます。
jbpb0

2022/08/29 23:15 編集

> curl -Vで、curlの1つ前のバージョンがインストールされているのを確認済 そのバージョンのdebファイルをダウンロード https://tech-lab.sios.jp/archives/apt_update#i-2 https://tex2e.github.io/blog/linux/apt-download-only して、解凍 https://thr3a.hatenablog.com/entry/20181001/1538358389 すれば、インストールせずに必要なファイルが入手できると思います インストールの副作用が気になるなら、こちらの方がいいかも
b452452

2022/08/30 00:47

ありがとうございます。 今RasPi環境が触れないので、後ほど検証しようと思います。
b452452

2022/08/30 04:44

jbpb0さん長らくありがとうございました。 無事解決致しました。
guest

回答1

0

ベストアンサー

curl.hだけをインストールする、ってのではなく、
curlをapt-getでインストールする、のが正しいかと思いますが、それではダメなんでしょうか。

投稿2022/08/29 05:53

y_waiwai

総合スコア87774

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

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

b452452

2022/08/29 06:10

既にcurlが入っている(curl -Vでバージョン情報等が表示される)状態かつcurlを利用したプログラムが置いてある状態です。 このままapt-getでcurlをインストールしたとき、その既存プログラムが動かなくなることが心配です。
y_waiwai

2022/08/29 06:25

まあ、テとしては、そのうまく行っている環境からそのファイルをコピーしてきて、その同じ場所にコピーするってことでしょうけど、おそらくそれをやったところで別のエラーが出るだけ、だとおもいますよ
b452452

2022/08/29 06:31

そうですよね、私もそう思います。 うまくいってる環境がx86-x64なので、うまくはいかないと思い実際には試してはいないです。 うまくいっている方はインストール先の1個前のフォルダ名がx86-x64とあるのでx64ベースで作られたcurl.h?かと思います。 curl以外のアーキテクチャに依存性のないライブラリに関しては、単純にフォルダごとコピーしたら読み込めました。
y_waiwai

2022/08/29 06:34

curlもアーキテクチャに依存しないんじゃないかと思いますが、実際にそれをやってなにか問題は出るんでしょうか。
b452452

2022/08/29 07:54

ありがとうございます。依存性がない可能性もあるのですね。 うまくできている側のcurlフォルダをそのまま移動してきて、同じフォルダ構成でコンパイルしたら「curl/curl.h」 No such file or directoryと表示される状態です。 恐らくアーキテクチャ云々ではなく別のエラーな気がするので調査してみようと思います。
b452452

2022/08/29 07:57

コンパイルコマンドは下記になります。 $ g++ -o test main.cpp -lcurl
y_waiwai

2022/08/29 07:58

そのエラーはcurl.hが所定の場所に存在しない、というエラーです。 フォルダを移動してきても、コンパイラのインクルードフォルダの設定をそれに合わせる必要があります
b452452

2022/08/29 08:11

インクルード等修正したのですが、見つからないです。 以下の記事の通りアーキテクチャが違うときエラーにはファイルが見つからないと表記されることもあるそうです... https://qiita.com/charon/items/2c83be19ef93b48f7a53 今の自分の状態が該当するかは調査不足の為断言はできないので、もう少し調べてみようと思います
b452452

2022/08/30 04:43

y_waiwaiさん長らくありがとうございました。 無事解決致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問