質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Q&A

0回答

1981閲覧

vs2019でのビルドアクションの変更方法がわからない

THETA97556919

総合スコア5

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

0グッド

0クリップ

投稿2021/06/28 12:35

編集2021/06/29 05:41

前提・実現したいこと

vs2019のC++プロジェクトをReleaseモードでビルドしたところ、exeファイルを実行したときに画像ファイルが読み込まれなかった。
→調べていくうちに、リソースファイルはプロジェクトに埋め込む必要があることを知る

対象のリソースファイルのプロパティの「ビルドアクション」という項目を、埋め込みファイルに設定することでこの問題は解決されるはずなのだが、その項目がどうしても見当たらないため質問をした。
↑**.NET Frameworkを使用したプロジェクトの場合らしく、今回は無関係。**

画像などのリソースファイルをexeファイルに埋め込む方法がわからないため、教えていただきたい。

発生している問題・エラーメッセージ

このサイトをたよりにビルドアクションが変更できる場所を探していたのだが、やはり見当たらない。

現在の状況(pngファイル SOTUKEN.pngを例とする)↓
イメージ説明
イメージ説明

サイトによると、下の画像のようなプロパティ画面が表示されるらしいが、どこから表示できるのかがわからない。
イメージ説明

試したこと

とりあえず、サイトの

ファイルのビルド アクションを設定するには、[プロパティ] ウィンドウでファイルのプロパティを開きます。その場合、ソリューション エクスプローラー でファイルを選択し、Alt+Enter キーを押します。 または、ソリューション エクスプローラー でファイルを右クリックし、[プロパティ] を選択します。 [プロパティ] ウィンドウの [詳細設定] セクションで、[ビルド アクション] の横にあるドロップダウン リストを使用して、ファイルのビルド アクションを設定します。

はもちろん試したが、現在の状況として上げた画像の状態になった。
ただ、プロパティウィンドウの「詳細設定」という項目は無かったため、その項目への移動はできていない。

他に、対象の画像の「ファイルの種類」や「項目の種類」をいろいろいじってみたが、ファイルの形式があっていないなどのエラーが吐かれる以外特に何も変化はなかった。

補足情報(FW/ツールのバージョンなど)

visualstudio 2019 Version 16.9.4
その他必要な情報などあれば、追記いたしますのでご連絡ください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KoichiSugiyama

2021/06/28 17:57

参考にされたサイトの説明にあるプロパティ画面は.NET Frameworkを使用したプロジェクトの場合に表示されるものです。C++のプロジェクトとのことで、提示されている画像を見る限りは今回の問題とは関係なさそうです。単純にReleaseビルドにしたため、exeが出力されるフォルダがDebug時と違ってしまい、画像ファイル置き場が見つからないだけではないでしょうか?exeファイルと画像ファイルを同じフォルダに置いて実行した場合どうなりますか?
THETA97556919

2021/06/29 05:35

ご返信ありがとうございます。 .NET Frameworkというものを存じ上げなかったので、その辺りがよくわかっていませんでした。 exeファイルと同じフォルダに画像を入れると表示はされました。 しかし、画像などのリソースファイルはユーザーから見えなくするのが普通だという記事を見て埋め込みの方法を調べていた次第です。 もしよろしければリソースファイルをexeに埋め込む手順を教えていただけると助かります。
KoichiSugiyama

2021/06/29 14:32

どういった用途の画像ファイルなのか不明なので、やみくもにexeに埋め込むこと自体は正直お勧めできませんが、*.pngファイルをリソースとして扱う方法は、ソリューションエクスプローラに表示される「リソースファイル」フォルダを右クリックして「追加」→「リソース」で表示される「リソースの追加」ダイアログから「インポート」を選んで画像ファイルをインポートします。画像はビットマップしか選択できないように見えますが、jpgやpngも読み込めます。インポートした後の扱い方はここに書くと長くなりますので、ご自身で「VC++ リソース 埋め込み」などで検索してみてください。いろいろなサイトがヒットしますので、そちらを参考にしてみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問