C++とQtでHello world!
ここ数日古いPCで動きそうなブラウザ探してたが、まあ見つからん。
コロナ怖くて家にこもってるし、自分で作っちゃうか!まあ実用的なの作れるとは思えんがw
というわけなんだが、C++とかほとんど触ったこと無いしHello world!してみた。
メモリ節約を考えると小分けにして動的ロードする感じになると思うんだが、数が多くなるとC++がいいよね?
ってわけでC++にした。
あと、KDE使ってるのにFirefoxとかのためにGTKアプリ使わないといけないのが嫌なんで、Qt対応も考えて作ろうと思うんでQtも触ってみた。
-oオプションをつけない場合は.oファイルが作成されるらしい。つけると実行ファイルhelloが作成される。
まああまり理解できないんで必要なら調べる。
拡張子の左側はプロジェクト名だが、カレントディレクトリと同名になる。つまりディレクトリ名がプロジェクト名。
.cppファイルはプロジェクトのルートディレクトリに置いたが、srcとか下の階層に分けることもできるみたい。
この記述がされてないHello world!のサイトが多いようなんだが、QT5だと書かないとmakeでエラーになる。
コロナ怖くて家にこもってるし、自分で作っちゃうか!まあ実用的なの作れるとは思えんがw
というわけなんだが、C++とかほとんど触ったこと無いしHello world!してみた。
メモリ節約を考えると小分けにして動的ロードする感じになると思うんだが、数が多くなるとC++がいいよね?
ってわけでC++にした。
あと、KDE使ってるのにFirefoxとかのためにGTKアプリ使わないといけないのが嫌なんで、Qt対応も考えて作ろうと思うんでQtも触ってみた。
C++でHello world!
hello.cpp#include <iostream>
using namespace std;
int main(){
cout << "Hello world." << endl;
return 0;
}
<<記号があってキモいwusing namespace std;
int main(){
cout << "Hello world." << endl;
return 0;
}
$ g++ -o hello hello.cpp
コンパイラはgcc入ってればC++もコンパイルできるようだが、コマンドはgccじゃなくてg++になるみたい。-oオプションをつけない場合は.oファイルが作成されるらしい。つけると実行ファイルhelloが作成される。
まああまり理解できないんで必要なら調べる。
QtでHello world!
main.cpp#include <QApplication>
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
$ qmake -project
.proファイルが作成される。拡張子の左側はプロジェクト名だが、カレントディレクトリと同名になる。つまりディレクトリ名がプロジェクト名。
.cppファイルはプロジェクトのルートディレクトリに置いたが、srcとか下の階層に分けることもできるみたい。
QT += widgets
を.proファイルに追加。この記述がされてないHello world!のサイトが多いようなんだが、QT5だと書かないとmakeでエラーになる。
$ qmake
オプション無しでqmakeすると.proを元にMakefileが作成される。
$ make
実行ファイルが作成される。