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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

GLFW

GLFWは、OpenGLを使用してアプリ開発を行うためのフレームワークです。Macにも対応しているマルチプラットフォームであることが特徴。ウィンドウ管理、解像度切り替え、入力管理などの機能を持ちます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

リンカ

リンカはコンパイルされたオブジェクトコードに、必要なライブラリなどを付け加えて、実行可能ファイルを生成するプログラムです。コンパイルされたオブジェクトのコードを複数のファイルで取得し、"linked"という一つの実行可能のファイルを生成します。

C++

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

Q&A

解決済

1回答

2117閲覧

LNK2019 未解決の外部シンボル(関数名)が関数~~で参照されましたの原因が全く分かりません涙目

ShiiTakumi

総合スコア15

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

GLFW

GLFWは、OpenGLを使用してアプリ開発を行うためのフレームワークです。Macにも対応しているマルチプラットフォームであることが特徴。ウィンドウ管理、解像度切り替え、入力管理などの機能を持ちます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

リンカ

リンカはコンパイルされたオブジェクトコードに、必要なライブラリなどを付け加えて、実行可能ファイルを生成するプログラムです。コンパイルされたオブジェクトのコードを複数のファイルで取得し、"linked"という一つの実行可能のファイルを生成します。

C++

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

0グッド

0クリップ

投稿2018/09/19 01:20

編集2018/09/19 04:04

●ハマり穴
【Blenderなどの3DCGモデルをwavefrontOBJとしてロードし、それを表示する】
といったことを以下のチュートリアルを参考に作成しているのですが、未解決の外部シンボルが~のリンカーエラーにずっとハマっております。

●参考サイト
1.Vulkanチュートリアル>開発環境
https://vulkan-tutorial.com/Development_environment
2.Vulkanチュートリアル>モデルの読み込み
https://vulkan-tutorial.com/Loading_models

●環境
Windows10
Visual Studio2017 Community

●エラー内容
ビルドしようとした結果

●作業経緯
1.参考サイトの1を参考にプロジェクトのプロパティを設定
・すべての構成>構成プロパティ>C/C++全般>追加のインクルードディレクトリに「.\include」を追記
(予め作成したソリューションフォルダにあるincludeフォルダを参照)
・すべての構成>構成プロパティ>リンカー全般>追加のライブラリディレクトリに「.\lib」を追記
・すべての構成>構成プロパティ>リンカー入力>追加の依存ファイルに「vulkan-1.lib」「glfw3.lib」「legacy_stdio_definitions.lib」を追記

2.構成、フォルダ整理
・ソリューションがある同じフォルダに「include」、「lib」、作成したモデル(.obj)を入れる「models」、テクスチャ材料を入れる「textures」フォルダを作成
・includeフォルダの中身は以下が入っており、GLFWフォルダには「glfw3.h」及び「glfw3native.h」が入っており、エラー一覧にあるすべての関数は外部ライブラリ内の「glfw3.h」に定義されていることは確認できております。
includeフォルダの中
・glfw3.hは以下のようなコードになっております。
https://github.com/glfw/glfw/blob/master/include/GLFW/glfw3.h

 ・libフォルダの下はこちらです。ご指摘をありがとうございますm(__)m
libフォルダ中見一覧

●コード
モデルを読み込むためのコードは以下にあるサンプルをそっくりそのまま利用しております。
https://github.com/Overv/VulkanTutorial/blob/master/code/27_model_loading.cpp

この状態で何故リンカーエラーが出るのか全く分からないまま2日経過してしまったのでご助言のほど、よろしくお願いいたします。
(不明な点がございましたらただちに修正いたします。)

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

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

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

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

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

kazto

2018/09/19 03:41

vulkan-1.lib、glfw3.lib、legacy_stdio_definitions.libは、libフォルダに置いてありますでしょうか。
ShiiTakumi

2018/09/19 04:05

legacy_stdio_definitions.lib以外は置いてあります、ご指摘ありがとうございますm(__)m
ooa

2018/09/19 05:01

追加の依存ファイルの設定ですが、プラットフォームはビルド対象と同じもので設定されましたでしょうか?
ShiiTakumi

2018/09/19 05:11

すべての構成のまま設定しておりました。もしかしてリンカーはDebug、Releaseそれぞれに変更してから設定する必要があるのでしょうか…?
ooa

2018/09/19 05:25

同じものを使うのであれば「すべての構成」「すべてのプラットフォーム」の状態で設定すれば、共通で入るので大丈夫です。 たまにうっかりしてWin32だけで設定してx64でビルドできない、とかあったりするので・・
ooa

2018/09/19 05:28

同じもの→同じ名前のもの、でした。すみません。
ShiiTakumi

2018/09/19 05:45

間違えました、プラットフォームですね。おっしゃる通り「すべての構成」、「すべてのプラットフォーム」で設定しました。
guest

回答1

0

ベストアンサー

Libフォルダを一つしか作られていないようなので
環境構築で、GLFWを32bitか64bitかどちらかを落としてきているのだと思いますが
32bitを落としてきて、64ビットでビルドしようとしていませんか?(あるいはその逆)

GLFWのLibのプラットフォームが違っている可能性があります。

投稿2018/09/19 06:37

ooa

総合スコア213

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

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

ShiiTakumi

2018/09/19 08:04

解決いたしました!原因はまさにおっしゃる通りでした、大変勉強になりました。ありがとうございますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問