teratail header banner
teratail header banner
質問するログイン新規登録

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

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

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

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

C++

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

Q&A

1回答

1618閲覧

libが開けないので助けてください。

退会済みユーザー

退会済みユーザー

総合スコア0

Visual Studio

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

C++

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

0グッド

0クリップ

投稿2024/05/16 02:43

編集2024/05/16 03:26

0

0

実現したいこと

DirectXTKのWICTextureLoader.hを使いたい

発生している問題・分からないこと

visual studio 2022 を使っています。

一つのプロジェクトに2つのソリューションがあり、
ソリューション1:メイン(自作)
ソリューション2:https://github.com/microsoft/DirectXTK のDirectXTK_Desktop_2022
を使っており、ソリューション1の「追加の依存ファイル」に、ソリューション2で作ったDirectXTK.libファイルを設定して、リンクしようとしています。

まず、ビルドをしたときにはエラーが出ず成功します。しかし、リビルドをしようとすると
LNK1104 ファイル 'DirectXTK.lib' を開くことができません。
というエラーが出ます。
しかし、このフォルダを見ると、確かにlibファイルは存在しています。ビルド(リビルドではない)したあとにlibファイルも更新されていました。

こういう場合は、何を疑ったらよいのでしょうか?

学校で使っている物なので、細かいファイル名やフォルダ構成、
ソースコードなどの詳細を書けないことをご容赦ください。

よろしくお願いいたします。

エラーメッセージ

error

1エラーLNK1104 ファイル 'DirectXTK.lib' を開くことができません。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

・メインのプロパティページの「C/C++」→「全般」→「追加のインクルード…」に以下のパスを追加
.¥DirectXTK-main¥Inc
・メインのプロパティページの「リンカー」→「全般」→「追加のライブラリ…」に以下のパスを追加
.¥DirectXTK-main¥Bin¥Desktop_2022¥x64¥Debug
・メインのプロパティページの「リンカー」→「入力」→「追加の依存…」にDirectXTK.libを追加

補足

特になし

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

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

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

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

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

fana

2024/05/20 02:56

(現状の質問文の記述のように)ソリューションが2つ独立して存在しているという話なのか, それとも(既存回答が仮定しているように)1つのソリューション内に2つのプロジェクトがあるという話なのか, そこらへんを明瞭にすると良いのではないでしょうか? 前者であれば,後者を仮定した回答を行っている人の労力が無駄になってしまいますし, 後者であれば,質問文の情報が間違っているのですから訂正すべきでしょう. また,「ビルド」や「リビルド」というのをどの ソリューション/プロジェクト に関して実施しているのか? 「このフォルダ」とは実際にどこのことを言っているのか? 等が不明瞭と思えます.
fana

2024/05/20 03:00

実物のファイル名やフォルダ構成を書けないのであれば,同じ問題が再現する物を用意するという手もあると思います. 例えば,質問用に{関数が1個しかしない Lib を作るやつと,それを使うだけのやつ}みたいなのを用意すれば十分なのではないでしょうか? で,それらを Dドライブの直下みたいな場所に作るならば,そのフォルダ階層やソースコード等の情報も共有しての話が可能になるのではないでしょうか?
guest

回答1

0

質問は「1つのソリューションに2つのプロジェクト」と仮定して回答します。

  • プロジェクト1:メイン
  • プロジェクト2:DirectXTK.lib
  1. ソリューションエクスプローラーにて、ソリューションを選択した状態で、[右クリック]-[プロジェクトの依存関係]を選択します。
  2. ダイアログにて、プロジェクトに「プロジェクト1」を選択して、依存先の「プロジェクト2」にチェックを入れます。
  3. 「プロジェクト2」を選択して、依存先の「プロジェクト1」にチェックが無いことを確認します。
  4. [OK]ボタンを押下して、ダイアログを閉じます。
  5. ソリューションを選択した状態で、[右クリック]-[プロジェクトのビルド順序]を選択します。
  6. プロジェクトをビルドする順序が「プロジェクト2」「プロジェクト1」であることを確認します。
  7. リビルドします。

投稿2024/05/16 16:01

hiroki-o

総合スコア1425

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

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

退会済みユーザー

退会済みユーザー

2024/05/18 14:33

遅くなりましたが回答ありがとうございます。 試してみましたが解決できませんでした。 (同じエラー文のままでした。) この場合どの辺りに原因がありそうでしょうか?
hiroki-o

2024/05/18 14:46

個別に、プロジェクト2のリビルド、プロジェクト1のリビルドの順に実行した場合は、どうなりますか? (ソリューションのリビルドではなく、プロジェクトを選択してリビルドする)
退会済みユーザー

退会済みユーザー

2024/05/18 18:16

プロジェクト2の方はエラーも無く出来ましたが、 プロジェクト1の方は'DirectXTK.lib' を開くことができず失敗になりました。
hiroki-o

2024/05/18 21:17

「学校で使っている物なので、細かいファイル名やフォルダ構成、ソースコードなどの詳細を書けないことをご容赦ください。」 と書いていますが、フォルダー構成がわからないと、こちらの環境で再現できません。 こちらでは上手くいってるので。 「1つのソリューションに2つのプロジェクト」の標準的なフォルダー構成は以下の通りです。 ソリューションフォルダー\プロジェクト1フォルダー ソリューションフォルダー\プロジェクト2フォルダー ソリューションフォルダー\x64フォルダー ソリューションフォルダー\~.sln 上記とは構成が異なるのでしょうか? 異なるなら、教えてください。 メインから見て「.\~」はどこを指しているかわかりません。 また、追加のインクルードと、追加のライブラリに仮にフルパスを指定した場合は、どうなりますか?
退会済みユーザー

退会済みユーザー

2024/05/20 01:25

毎回遅くなって申し訳ございません。 学校から配布されたものは、 ソリューションフォルダー\プロジェクト1フォルダーの中に ソリューションフォルダー\プロジェクト2フォルダー ソリューションフォルダー\x64フォルダー ソリューションフォルダー\~.sln ヘッダーやソース、シェーダーがそのまま入れられています。 フルパスを入れたときはDirectXTKのWICTextureLoader.hを呼び出せなくなりました。
退会済みユーザー

退会済みユーザー

2024/05/20 02:18

ちょっとエラー文が変わりましたので以下に載せます。 プログラム'C:¥Users¥Rui¥Desktop¥5回目 ¥DirectXTK-master¥Bin¥Desktop_2022¥x64¥Debug¥DirectXTK.lib' 開始できません。 C:¥Users¥Rui¥Desktop¥5回目 ¥DirectXTK-master¥Bin¥Desktop_2022¥x64¥Debug¥DirectXTK.lib (± 有効な Win32 アプリケーションではありません。
fana

2024/05/20 03:04

(libを作るプロジェクトがスタートアッププロジェクトになってるとかそういう話?)
hiroki-o

2024/05/20 14:22

では、フォルダー構成は以下の通りでしょうか? 違うでしょうか? ソリューション1フォルダー\プロジェクト1フォルダー ソリューション1フォルダー\プロジェクト1のx64フォルダー ソリューション1フォルダー\ソリューション1.sln ソリューション1フォルダー\プロジェクト1フォルダー\ソリューション2フォルダー\プロジェクト2フォルダー ソリューション1フォルダー\プロジェクト1フォルダー\ソリューション2フォルダー\プロジェクト2のx64フォルダー ソリューション1フォルダー\プロジェクト1フォルダー\ソリューション2フォルダー\ソリューション2.sln この開発の際、Visual Studioは何個起動していますか? 1個(1つのソリューションに2つのプロジェクト) 2個(2つのソリューション別々) プロジェクトのプロパティの設定をした、構成(Release/Debug)、プラットフォーム(x64/x86) ビルド/リビルド時に選択した、構成、プラットフォーム は合っていますか? Debug/x64で統一でしょうか? 何を変更したらエラーが変わりましたか? 分からなければ書かなくてもよいです。 以上を、コメントではなく、質問を編集して追記してください。 他の人は、コメントのやりとりまで読まないので。 あと、フルパスを設定したら逆にヘッダーが見えなくなるのは、単純にパスの間違いだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問