web-dev-qa-db-ja.com

UbuntuでGTK +開発ライブラリを使用するにはどうすればよいですか?

私は約1年半Windowsでプログラミングをしており、そのプラットフォームでの動作に慣れ始めたばかりですが、今はLinuxでの開発に興味があり、苦労していますワークフローに慣れる、IDEがない、GCCでコマンドラインをコンパイルする。ちなみに、Xubuntu 13.10 64bitを実行しています。

水域をテストするために、私は多くの人々が行うことを行い、簡単なC++「hello world」プログラムを作成しました。

#include <iostream>

int main()
{
    std::cout << "Hello!\n";
    return 0;
}

私の最初の問題は;このプログラムは、GCCを使用してコンパイルしようとするとコンパイルエラーが発生するように見えますが、G ++コンパイラを使用すると正常にコンパイルされます。

gcc hello.cpp -o hello
/tmp/ccbmUmzf.o: In function `main':
hello.cpp:(.text+0xa): undefined reference to `std::cout'
hello.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccbmUmzf.o: In function `__static_initialization_and_destruction_0(int, int)':
hello.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
hello.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status

ここで何が起こっているのですか、GCCは私のコードがC++または何かであることを認識できませんか?

2番目の問題は、ライブラリを使用しようとすることです。GTK+ 3.0開発ライブラリが(X)ubuntuに含まれているという印象を受けましたが、簡単なチュートリアルを実行しようとすると here 、 G ++からの次のエラー:

g++ hello.cpp -o hello
hello.cpp:1:21: fatal error: gtk/gtk.h: No such file or directory
 #include <gtk/gtk.h>
                     ^
compilation terminated.

それで、GTK + 3.0のライブラリがインストールされていないことを意味すると解釈しました。だからapt-getをチェックしましたが、実際に必要なものが見えませんでした。GTKをビルドする必要がありますかソースから+3.0、または必要なPPAがどこかにありますか?

これらの問題は本当にイライラさせられます。多くの人がGNU/Linux開発ワークフローに誓うことを知っていますが、Visual Studioでの作業に慣れている人として、私はプロセスがやや不透明で直感的でないと感じています。現在、XubuntuでMousepadを使用してコードを編集していますが、構文は色分けされていますが、それ以上のことはほとんどないようです。最終的には複数のファイルを処理し、メイクファイルを作成する必要があることを知っていますが、この時点でそれを恐れています!

初心者のプログラマーやLinux/GNUのnoobに役立つものは何でも大歓迎です!

5
MrKatSwordfish

助言

まず第一に、あなたはIDEに満足する必要はありません。 Eclipseをインストールします。UbuntuSoftware Centreから入手できます。また、C/C++サポートを提供するEclipse用CDTをインストールする必要があります。第二に、CとGTKの代わりにC++とQtに集中することをお勧めします。 QtはC++とQML(UIのJavaScriptに似た言語)を使用する優れたクロスプラットフォームフレームワークであり、Ubuntuは将来のデスクトップおよびモバイル開発にQtを使用する方向にますます移行しています。これらのツールを使用すると、Ubuntuデスクトップ用の美しいアプリケーションを作成できるだけでなく、Android、Windows、Mac、BlackBerry、およびその他のOS用の美しいアプリケーションを作成できます。優れたQt固有のIDEはQtCreatorであり、Ubuntu Software Centerからも入手できます。Qtチュートリアルを参照してください。

回答

質問に直接答えるには、上記で概説したことを強くお勧めしますが、使用するライブラリの-devバージョンが必要になる可能性があります。 GTK 3の場合、次のことを行う必要があります。

Sudo apt-get install libgtk-3-dev

これですべてのGTK 3ヘッダーが取得できます。

5