UbuntuにCMakeをインストールするいくつかの方法の詳細な説明

UbuntuにCMakeをインストールするいくつかの方法の詳細な説明

CMakeをインストール

sudo apt をインストール cmake

この方法はインストールが簡単ですが、欠点は、Android プラットフォーム用に opencv を自分でクロスコンパイルする場合、ubuntu16.04 ソースの cmake バージョンが 3.5.1 のみであり、Android クロスコンパイル ツールチェーン android.toolchain.cmake には最低でも 3.6.0 の cmake バージョンが必要であるため、バージョンが低すぎるというメッセージが表示されることです。

ソースコードをダウンロードしてCMakeをコンパイルする

最新のcmakeをダウンロードするには、cmakeの公式サイトにアクセスしてください。

ダウンロード

ダウンロード後、解凍してディレクトリに入り、以下を実行します。

./ブートストラップ
-j8 を作る
sudo インストール

バージョンを確認する

cmake --バージョン
cmake バージョン 3.9.0

CMake スイートは Kitware (kitware.com/cmake) によって保守およびサポートされています。

この方法では最新バージョンのcmakeをインストールできますが、Androidプラットフォーム用のサードパーティライブラリをクロスコンパイルする場合、Android SDKで提供されるクロスコンパイルツールチェーンandroid.toolchain.cmakeが最新バージョンのcmakeをサポートしていないため、コンパイル中に問題が発生します。

Android SDK の CMake のソフト リンク

Android SDKのcmakeを/usr/local/binディレクトリにソフトリンクします。

sudo ln -s /home/gavinandre/Android/Sdk/cmake/3.6.4111459/bin/cmake /usr/local/bin

これで、Androidクロスコンパイルツールチェーンandroid.toolchain.cmakeを使用してサードパーティのライブラリをコンパイルしても問題はなくなるはずです。

簡単なCmakeの例を書く

まず、main.cppファイル、シンプルなhelloworldプログラムを書きます。

#include<iostream>
int メイン()
{
  std::cout<<"hello world!"<<std::endl;
  0を返します。
}

次にCMakeLists.txtファイルを記述します

cmake_minimum_required(バージョン 2.8)
#プロジェクト名project(HELLOWORLD)
#元のプログラムをインクルードします。つまり、指定されたディレクトリ内のソースプログラムを変数DIR_SRCにコピーします。
#指定されたパスのソースファイルを指定された変数aux_source_directory(./DIR_SRC)に保存します
#プログラムを生成する add_executable(helloworld ${DIR_SRC})

コンパイル

$ mkdir ビルド
$ cd ビルド
$cmake ..
$作る
$ ./helloworld

実行結果:

こんにちは世界!

Ubuntu に CMake をインストールするいくつかの方法について説明したこの記事はこれで終わりです。Ubuntu に CMake をインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • ubuntu14.04+dockerのインストールと使用
  • Ubuntu に Nginx サーバーをインストールする方法
  • Ubuntu での snap パッケージのインストール、更新、削除、簡単な使用
  • Ubuntu 16.04 をインストールした後に行うべきこと (まとめ)
  • Ubuntu システムに MariaDB データベースをインストールするチュートリアル
  • Linux (Ubuntu 18.04) に Anaconda をインストールする詳細な手順
  • Ubuntu 14.04 での Eclipse のインストール体験の共有
  • Ubuntu 16.04 のインストールプロセスの完全な記録
  • Ubuntu 14.04にpycharmをインストールする手順
  • UbuntuでのThunder Speed Editionのインストールと使用

<<:  古典的なスネークゲームの JavaScript 実装

>>:  MySQL アカウント情報をエレガントにバックアップする方法

推薦する

州と市町村の連携を簡単に実現するJavaScript

この記事では、省と市の簡単な連携を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQLでconcat関数を使用する方法

以下のように表示されます。 //managefee_managefee テーブルの年と月を照会し、c...

MySQL 文字列連結と null 値の設定のためのインスタンス メソッド

#文字列連結 concat(s1,s2); テーブル内の last_name と first_nam...

HTML の値属性と名前属性の機能と使用法の紹介

1. ボタンで使用される値は、「OK」、「削除」など、ボタンに表示されるテキストを指します。 2. ...

WeChatアプレットの入力レベルとテキストエリアレベルの浸透率が高すぎる問題の解決策

WeChat ミニプログラムのネイティブ コンポーネントであるカメラ、キャンバス、入力 (フォーカス...

要素テーブルの行と列のドラッグを実装する例

要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパー...

WeChat アプレット計算機の例

WeChatアプレット計算機の例、参考までに、具体的な内容は次のとおりです。インデックス.wxml ...

Vueの子コンポーネントと親コンポーネントの詳細な分析

目次1. 親コンポーネントと子コンポーネント2. テンプレート分離書き込み1. テンプレートタグ2....

protobuf の簡単な紹介と Ubuntu 16.04 環境でのインストールチュートリアル

protobufの簡単な紹介Protobuf は、Google のオープンソースのシリアル化プロトコ...

JavaScriptのonclickとclickの違いの詳細な説明

目次addEventListener が必要な理由は何ですか? addEventListener を...

js は axios 制限リクエスト キューを実装します

目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...

MySQLの外部結合と内部結合クエリの違い

外部結合の構文は次のとおりです。フィールド名を選択FROM テーブル名 1 LEFT|RIGHT|F...

フロントエンドパフォーマンス最適化に関する補足記事

序文私は、Web サイトのフロントエンド パフォーマンス最適化のための JavaScript と C...

MySQL 5.7 でルートパスワードを忘れた後に変更する方法の詳細なチュートリアル

序文長い間、MySQL のアプリケーションおよび学習環境は MySQL 5.6 以前のバージョンであ...

より人気がありクリエイティブなダーク背景のウェブデザインの例

暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...