質問するログイン新規登録
コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

301閲覧

C++buildでどのようにコンパイルされているか確認したい

apa

総合スコア70

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2025/08/22 03:18

編集2025/08/22 10:19

0

0

https://qiita.com/Luke02561/items/43bed4008dd707617a94
上記問題と同じであろう問題に衝突しました
正確に同じ問題か確認したいので、
画像の画面を自環境で見たいのですが、確認するにはどうすればよろしいのでしょうか?
(当方この画面がなんの画面なのかも理解していないのでその点もご教授いただけたら幸いです)

イメージ説明

#pragma once #include <windows.h> #include "DXApplication.h" //class DXApplication; class WinApplication { public: static void Run(DXApplication* dxApp, HINSTANCE hInstance); private: static LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); };
#pragma once #include <string> #include <wchar.h> #include <windows.h> #include <d3d12.h> #include <dxgi1_6.h> #include <D3Dcompiler.h> #include <DirectXMath.h> #include <wrl.h> #include "DirectX-Headers-main/include/directx/d3dx12.h" #include <stdexcept> #include <vector> #pragma comment(lib, "d3d12.lib") #pragma comment(lib, "dxgi.lib") #pragma comment(lib,"d3dcompiler.lib") using Microsoft::WRL::ComPtr; class DXApplication { public: DXApplication(unsigned int width, unsigned int height, std::wstring title); void OnInit(HWND hwnd); void OnUpdate(); void OnRender(); void OnDestroy(); const WCHAR* GetTitle() const { return title_.c_str(); } LONG GetWindowWidth() const { return windowWidth_; } LONG GetWindowHeight() const { return windowHeight_; } private: static const unsigned int kFrameCount = 2; std::wstring title_; LONG windowWidth_; LONG windowHeight_; // パイプラインオブジェクト ComPtr<ID3D12Device> device_; ComPtr<ID3D12CommandAllocator> commandAllocator_; ComPtr<ID3D12GraphicsCommandList> commandList_; ComPtr<ID3D12CommandQueue> commandQueue_; ComPtr<IDXGISwapChain4> swapchain_; ComPtr<ID3D12DescriptorHeap> rtvHeaps_; // レンダーターゲットヒープ ComPtr<ID3D12Resource> renderTargets_[kFrameCount]; // バックバッファー // フェンス ComPtr<ID3D12Fence> fence_; UINT64 fenceValue_; HANDLE fenceEvent_; void LoadPipeline(HWND hwnd); void CreateD3D12Device(IDXGIFactory6* dxgiFactory, ID3D12Device** d3d12device); void ThrowIfFailed(HRESULT hr); };
int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE, _In_ LPSTR, _In_ int nCmdShow) //int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { DXApplication dxApp(1280, 720, L"DX Sample"); WinApplication::Run(&dxApp, hInstance); return 0; }

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

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

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

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

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

int32_t

2025/08/22 03:54

質問者さんの環境の情報が必要です。どんなOSでどんなコンパイラでどうやってコンパイルしているのか。
apa

2025/08/22 03:57 編集

Os : Windows11 IDE visualstudio コンパイラ : MSVC (Visualstudioなので) コンパイル方法 : VSなのでF5クリック です。
fana

2025/08/22 04:20 編集

示されている画像は何らかのリンカが出してきたエラーメッセージかと思いますが, とりあえず Visual Studio であれば,リンク時にその話と同じ問題が生じた場合には LNK1169 1つ以上の複数回定義されているシンボルが見つかりました みたいなエラーメッセージが表示されると思います. 加えて LNK2005 で「int F(int) は既に ***.obj で定義されています」とか言われることになるかと. https://learn.microsoft.com/ja-jp/cpp/error-messages/tool-errors/linker-tools-error-lnk2005?view=msvc-170 (Visual Studio で実際にエラーが出ているのなら,エラー一覧の "LNK2005" みたいな表示箇所がリンクになっていて,クリックすれば↑みたいなページに飛べる)
int32_t

2025/08/22 04:47

> コンパイル方法 : VSなのでF5クリック F5を押したあとにターミナルに何かメッセージが出てると思います。それも開示してください。 あと、なぜ「上記問題と同じであろう」と思ったのかも書いてもらえると問題の理解がしやすいです。
dodox86

2025/08/22 08:53

> ld: 1 duplicate symbol for architecture x86_64 このエラー出力内容ですと、clang, clang++ を使われている様子ですね。(<AI/Copilotさんの回答による) 質問者さんが引用されたQiitaの記事のタグにも"clang"がありました。
apa

2025/08/22 10:16

buildする過程でなぜかエラーが出なくなったので正確な内容は割愛しますが LINK2019外部シンボルのエラーでした。
apa

2025/08/22 10:22

Main.cppからWinApplication::Run(&dxApp, hInstance) を呼び出しに関して外部シンボルのエラーが出ておりました。 clang++ という情報いただいたのと 現状再buildでエラーが発生しないためこんぱいらからエラーログを得られないのでいったん解決済みにいたします
guest

回答2

0

自己解決

clang++ という情報いただいたのと
現状再buildでエラーが発生しないためこんぱいらからエラーログを得られないのでいったん解決済みにいたします

投稿2025/08/22 10:22

apa

総合スコア70

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

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

dodox86

2025/08/22 17:07

本当に解決したい問題は解消されたようなのでもう済んだ話ですが: 質問者 apaさんの[2025/08/22 19:16]のコメントから、 > buildする過程でなぜかエラーが出なくなったので正確な内容は割愛しますが > LINK2019外部シンボルのエラーでした。 エラー LNK2019だったのであれば、Visual Studioでの以下の例のようなエラー出力だったのでしょうかね。 >ConsoleApplication1.obj : error LNK2019: 未解決の外部シンボル "int __cdecl f(void)" (?f@@YAHXZ) が関数 main で参照されました そうでれば「ld: 1 duplicate symbol for architecture ...」、関数等のシンボルの重複をリンク時に検出エラー、とは反対で、関数等のシンボルがリンク時に見つからない(未解決)エラー、だったのだと考えられます。
guest

0

コマンドラインからコンパイルすればそういうメッセージが出てきますよ

#あ、C++Builderじゃなかったのか

投稿2025/08/22 07:37

編集2025/08/22 07:39
y_waiwai

総合スコア88182

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問