2017-08-28 1 views
-6

私はC++やライブラリを含めて全体的には初心者ですので、ここ3日間、さまざまなGUIライブラリをインストールし、Visualスタジオ、しかしこれらの試みのどれも成功しなかった。C++でGUIをセットアップする方法

ファイルを含めてライブラリをリンクする必要があるという問題が発生します。少なくとも私にとっては、Visual Studioのこれらのボックスにすべてを貼り付けてコピーするのは非常に面倒で時間がかかるようです。私は私が間違ってやっているかを把握するために援助の手を必要とする

は、ここで私が試した方法です:

のVisual Studio 2017 - Windowsインストーラ とgtkmmのライブラリ私は必要なのGtk +をダウンロードして、正常にインストールします。 私のプロジェクトのプロパティを開き、インクルードに行き、必要なパスを貼り付けます。私はリンカーに行き、それらのパスを貼り付けます。 - >すべてが赤で下線が引かれているhello worldプログラムを受け入れ、ペーストしようとします。

これは実際のgtkmmの実装でさえありません。

私の質問は、ステップを忘れてしまったのか、それとも機能しない基本的なスニペットなのか(私はそれを投稿しないようにしておきます)です。

ライブラリーのチュートリアルで、2つまたは3つのファイルを含めるように指示しても、私のフォルダーに20のように表示されたらどうしますか?

また、ライブラリを別のドライブに配置するのはどういうわけか悪い習慣ですか?

申し訳

私は、念のために、これは私が参照してるスニペット失ったが、それはかなり私は、これらのチュートリアルでどのように感じるかだ...

編集されているサウンド場合:

#include <gtk/gtk.h> 

int main(int argc, char *argv[]) { 

gtk_init(&argc, &argv); 

g_printf("GTK+ version: %d.%d.%d\n", gtk_major_version, 
    gtk_minor_version, gtk_micro_version); 
g_printf("Glib version: %d.%d.%d\n", glib_major_version, 
    glib_minor_version, glib_micro_version); 

return 0; 
} 

g_printf 、glib_major_version、glib_minor_versionとglib_micro_versionは赤い下線ですが、ないgtk_major_version

EDIT:

このような質問はstackoverflowに適合しませんが、提案と詳細なチュートリアルありがとうございます。

多くのフォルダに大量のヘッダファイルとlibファイルを含める方法を教えていただけますか?すべてのフォルダに手動でアクセスしてそれらを含める必要がありますか?

+0

わかりません。タイトルはGUIに関する一般的な話です。 Qt、WxWidgets、Microsoft MFC Formsなど、GTK以外のGUIもあります。何が問題になっていますか? –

+0

あなたがうまくいくものが必要な場合は、クロスプラットフォームであり、文書化されていて使いやすいです。 [Qt](https://www.qt.io)をチェックしてください。しかし、この質問は、本当にSOの話題にはなりません。 –

+0

Visual C++で記述されたMFCアプリケーションもあります。 –

答えて

0

はい、間違いなくVisual Studioの手順が間違っています。いいえ、別のドライブにインストールするのは悪いことではありません。

一般的な考え方は次のとおりです。

1)お使いのマシンのどこかにライブラリをインストールします。どこにいても問題ありません。 "lib"ディレクトリと "include"ディレクトリパスに注意してください。

  • includeディレクトリには、使用しようとしているコードの前方宣言をコードで理解できるようにするヘッダーファイルが含まれています。
  • libディレクトリには、バイナリ(動的リンク用のDLL、静的リンク用のlib)が含まれています。リリース/デバッグ用に異なるバイナリがあることがあります。私はデバッグライブラリにリンクし、そこに行くときにリリースコードを心配します。
  • あなた自身がコードをコンパイルしてバイナリを作成したいと思うことがあります。コンパイル命令が含まれます。バイナリを作成したら、ここで手順1に戻って手順を繰り返します。これは、あなたのプラットフォーム用のバイナリをプリコンパイルしたくないか、プロジェクトの考え方が自分自身で行うことだからです。

2)Visual Studioでは、新しい追加のインクルードとライブラリディレクトリの場所をコンパイラに(別途)教えてください。である2017 ...に

  • はディレクトリを含める:プロジェクト> {名}プロパティ]> [C/C++>全般>追加のインクルードディレクトリ
  • ライブラリディレクトリ:プロジェクト> {名}プロパティ>リンカ>一般>追加ライブラリディレクトリ

3)ライブラリ(バイナリ)自体が含まれています。である2017 ...

  • ライブラリバイナリの場合:プロジェクト> {名}プロパティ>リンカ>入力>追加の依存

彼らはプロジェクトに含めるあなたのバイナリのリストを提供しなければならない場合があります外部依存関係であるか、モジュール化のためにプロジェクトを複数のライブラリに分割しています。

C/C++でプログラムしたい場合、これは何度も何度もやり直すプロセスです。その秘密は少し秘密ですが、一度それを落とすと、あなたを驚かせることはありません。

編集:

ああ、人はQtに言及しました。このフレームワークは、Visual Studioとは少し異なります。言語拡張とGUIを作成するためのツールが含まれているため、依存関係を自分で設定することが非常に関わっています。このため、テンプレートからQtプロジェクトを作成するためのツール(かなりいいです)があります。これにより、すべてのコンパイラのステップ、インクルード、リンクされたライブラリが設定されます。

私の意見では、おそらく、Windows上のC/C++用のGUIライブラリの中で最も成熟したものであり、クロスプラットフォームでもあります。

+0

あなたの深い説明をありがとうございました。私はこれらの手順を最初も続けましたが、フォルダがコンパイラから見えないので、すべてのヘッダとlibファイルを個別に選択する必要があるようです。 回避策はありますか?あなたが言及したように、無料ですが、私はまだ "巨大な"ライブラリを扱う方法を知りたいので、Qtをもう一度試してみます。gtkmmのように、ヘッダーとライブラリを持つたくさんのフォルダがあります。 – mxOx2kL

+0

@ mxOx2kLプロジェクト設定にすべてのファイルを含める必要はありません。誤ったまたは誤解されたインクルードディレクトリ/インクルードライブラリの設定が原因である可能性があります。さらに、メインの "インクルード"ディレクトリの中にサブフォルダがある場合、ヘッダーの#includeディレクティブにコード内にインクルードする必要があります。例はグラフィックスSFMLライブラリで、 "include \ SFML \ "のようなパスがあります。ビジュアルスタジオの設定に "インクルード"パスを入れると、#include のように、cppファイルのヘッダ#includeディレクティブが表示されます。 – Josh

関連する問題