Qt5 CreatorでのLinux アプリのCandleソースダウンロードからコンパイル、実行まではできましたが、残念なことに、通常のアプリケーションを表示する左下のアイコンをクリックして表示される、常用、すべてで、表示されているインストール済みのアプリケーションの中にCandleも入れてみたいという思いは誰しも思うはずです。Candleアプリを起動するのに、わざわざ、Qt5のCreatorを起動して、ソースを読み込んで、コンパイルして、実行で使用するのは、超面倒です。他の方法でもコンソールでのコマンドで 共有ライブラリの階層までcd で設定し、./Candleでも起動することはできますが、これも、手間です。やはりアイコンワンクリックでCandleを起動したいというのが、一番でしょう。やり方の大筋が書いてあるWebページがありましたが、やはり、一筋縄では行きません。この通りやっても、うまく行きませんでした。結果上手くできたから言うのですが、やはり情報の不足部分を寄せ集めてトータルでどうすればいいかを自分なりにまとめることで、初めて動作までこぎつけることが出来るという、少し根気も必要という事です。つまり、このページだけの情報では不足していてコンパイルでの単独実行ファイルは完成しないということです。また、他の人のwebページには、残念ながらLinux 64bitでのCandleはうごきませんでしたなどというページもあり、私自身最初の頃は多少の不安もありましたが、その点このWebでは、動作しない場合の解決手順として載っているので、動かないという事は無いんだと、その点の迷いは払拭できました。Linuxは17.10 64bitで動く手順でしたので、私のLinux18.04LTS 64bitも大丈夫と言うことで進めたわけです。

http://naisema.blogspot.com/2017/11/install-candle-on-ubuntu-64bit-machines.html

このwebページの流れでやっていくのですが、実は、この作業は一番最後にやることになります。他の作業が必要なのです。しかしこの手順を先に説明です。1はQt5のインストールですので、すでに入れてあるので省略です。2はgit clone にてCandleのリボジトリのクローン複製します。これは、このままで実施します。
3は、インストールしたCandleソースコードのコンパイルですが、端末(コマンドライン)操作になります。3の手順は次のようになっています

$cd Candle/src
$qmake
$make

最初のcdでのCandleの階層クローン複製展開ダウンロードしてしたところの階層に持って行きます。ここのインストールCandleのソースコードを展開保存した階層を自分で決めた場合は、その決めた階層になります。特に問題は無い手順です。
次は、qmakeでコンパイルするのですが、この階層にもqmakeのパスを設定してから行えばこのままでいいのですが、設定してないので、エラーとなります。qmakeのコマンドの場所はフルパスで指定する必要があります。さすれば、qmakeは何処ぞ?ということですが、Qt5のQt Creatorを開きます。前のその1にも記載しました、メニューバーのツール→オプションでQtバージョンタグを開きます。自分のインストールしたQtのバージョンの下の方にある Qt5.14.2.GCC 64bit のqmakeのパスをコピーします。

範囲を選択_016kako

□□□□□〜/Candle/src$/home/※※※※/Qt/5.14.2/gcc_64/bin/qmake
となります。
次はmakeですが、このままでOKです。
□□□□□〜/Candle/src$make

簡単に上のqmakeとmakeを一行で記載して実施するには、次のようにします。
□□□□□〜/Candle/src$/home/※※※※/Qt/5.14.2/gcc_64/bin/qmake  &&  make

上記がqmake と makeの手順になります。これでコンパイルします。この手順だけでは、共有ライブラリしかできません。つまりQt Creatorでのソースコンパイルと何ら変わりません。
あとこのqmakeのコンパイル1回行ってしまうと、2回目はコンパイルしません。qmakeを行ったあとには(拡張子.o)オブジェクトが生成されます。このオブジェクトがある状態ではqmakeはコンパイルしません。ここで、何回か試したりする場合は、コマンドラインで作成されたオブジェクトを消します。
□□□□□〜/Candle/src$make clean
これで、コンパイルで作成されたオブジェクトを全部消せます。

4は最新のx86 Candleをgithub.comからダウンロードし、tar コマンドでフォルダ/opt にextractします。
5では/opt/Candle にコンパイルした Candle x64をコピーします。
6はldd でCandleのシンボルリンクを確認します。

ファイル名は、そのままCandle.proファイルをテキストエディターで修正します。
実は、この作業がコンパイルを行う前にして置かなければならない作業になります。先にコンパイルの仕方を説明していますが、こちらのテキストファイル修正が先です。一番の重要なポイントです。
展開したファイルの中のCandle.proファイルに下記の1行を追加します。このファイルによりコンパイルが実施されます。
追加行:QMAKE_LFLAGS += -no-pie

範囲を選択_019
この1行を追加することで、qmake、makeのコンパイルで、実行ファイルが生成されるようになります。ここで、先のコンパイルを実施します。

□□□□□〜/Candle/src$/home/※※※※/Qt/5.14.2/gcc_64/bin/qmake  &&  make
ファイルがギヤのアイコンになっていれば実行ファイル作成成功です。
このままでも、マウスでCandleファイルをクリックすると実行ファイルなのでCandleが起動します。

7はコンパイル後実行ファイルができている状態にてのショートカットの作成です。
次は、いよいよプログラムの登録ので通常のアプリケーションと同じようにアプリケーションの表にのに入れる作業です。通常のショートカット作成です。
注意点は実行ファイルがあるパスをExecにパス付きで記載することと、アイコンの置き場所にアイコンファイルをコピーしておきます。通常はUbuntuの階層で決まっている/usr/share/app-install/icons/ にアイコンファイルをコピーです。

[Desktop Entry]
Name=Candle
GenericName=Candle
Comment=CNC controller software
Exec=/opt/Candle/Candle
Icon=/usr/share/app-install/icons/candle.png
Terminal=false
Type=Application
Categories=Development;Electronics;

しかしこのCandle.desktopのショートカット作成時は所有者、グループの設定に気をつけます。
作成時は、自分が所有者になります。グループも自分です。ショートカットをLinuxのapplicationsのフォルダに移すときはその階層の所有者(root)、グループ(root)設定にします。 $sudo chown root:root ファイル拡張子付き でファイルを 所有者(root)、グループ設定を(root)に変えられます。スーパーユーザーモードで行います。
また、書き込み(w)=4 ,読み込み(r)=2,実行(x)=1,の設定がとても重要です。自分のフォルダ内で
は、ファイル − wrx wrx wrx と設定してます。$sudo chmod 777 全部許可って感じです。
(2020/05/05修正)
また、書き込み(w)=2 ,読み込み(r)=4,実行(x)=1,の設定がとても重要です。自分のフォルダ内で
は、ファイル 
− rwx rwx rwx と設定してます。$sudo chmod 777 全部許可って感じです。

最初がファイルか、フォルダか、シンボリックかで次が、所有者の書き込み読み込み実行、次がグループの書き込み読み込み実行、その次が他ユーザーの書き込み読み込み実行のアクセス権限設定である。
アイコンファイルなどは自分の所有になっていたりするので、Linuxのアイコンファイルなどにはこのアクセス権を合わせないとコピーできなかったりします。
candle.desktopは1行追加したものを保存します。移す前にプロパティを開きます。アクセス権のタグで
実行:☑プログラムとして実行可能(E)のように☑にします。このチェックのあとにroot権限にします。アクセス権の設定を移動先フォルダにあわせrootになったので、それをLinuxの /usr/share/applications/ にコピーします。また、デスクトップにもCandleショートカットアイコンを置きました。また、アイコン画像も Icon=/usr/share/app-install/icons/candle.png にダウンロードされたフォルダからコピーします。

以上で自分のPCのアプリケーションにも登録ができました。また、ワンクリックでの起動も問題ありません。前後したりしていますが、必要な事を先に行ってからの手順実施が大切です。Linux18.04LTSでの作業は実質2日かかりましたが、何とか完了できました。まだまだわからない点もある中のトライでしたが、Candleがアプリ登録され、アイコン起動できたので完了です。
これで、他の事ができるわけですが、まだまだ、茨の道は続きそうです。
Linuxの基板作成CADとか、ガーバーデータ作成アプリなんかも確認していかなければなりません。Windows10ならもうすぐにでもできているのですが、Linuxでは難儀かもしれません。
誰か先にやってくれている方がいると助かるのですが、これから調査開始です。

つづく?