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

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

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

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

C++

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

Q&A

解決済

2回答

1724閲覧

Visual C++ スタティックライブラリの使用

Lopn_

総合スコア50

Visual Studio

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

C++

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

0グッド

0クリップ

投稿2017/10/31 12:24

編集2017/10/31 12:33

###スタティックライブラリを別プロジェクトで使用
https://msdn.microsoft.com/ja-jp/library/ms235627.aspx
こちらのサイトを見ながらスタティックライブラリを作成して別ファイルで使用しようとしたのですが、ソースファイルを開けませんというエラーが発生してしまいます。

試したこと

プロジェクトのプロパティにある
C/C++ > 全般 から追加インクルードディレクトリにlibファイルのあるディレクトリを設定
イメージ説明
リンカー > 全般 から追加ライブラリ ディレクトリにlibファイルのあるディレクトリを設定
![イメージ説明
リンカー > 入力 から追加の依存ファイルに使用するlibファイルの名前(ここではMathFuncsLib.lib)を追加
イメージ説明
Debug/Releaseにはそれぞれのlibのパスを参照しています。
#pragma comment(lib,"libのディレクトリ\MathFuncsLib.lib")を実行するソースに記述しましたが変化がありませんでした。

スタティックライブラリを使えるようにするにはどうしたらよいのでしょうか??

使用しているのはVisual Studio 2017 Communityです

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

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

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

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

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

guest

回答2

0

ベストアンサー

こんにちは。

C/C++ > 全般 から追加インクルードディレクトリにlibファイルのあるディレクトリを設定

ここには、そのlibファイルの関数等の情報を定義しているヘッダ・ファイルのあるディレクトリを指定して下さい。恐らく、そのlibのソース・ファイルのフォルダにあるのではないかと思います。

投稿2017/10/31 12:33

Chironian

総合スコア23272

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

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

Lopn_

2017/10/31 12:36

libファイルとヘッダファイルの両方が必要という認識でいいのですか?
Chironian

2017/10/31 12:40

その通りです。 ヘッダファイルを#includeしていると思います。ですので必要ですね。でないと#includeでnot foundエラーになります。 また、libファイルはそれのソースのcppファイルをコンパイルしたものです。それもないと関数の本体がないので動かないです。
Lopn_

2017/10/31 12:44

なるほど、参考になります。 無事にincludeできるようになったのですが、新たな問題で、「TRK0005 検索できませんでした: "CL.exe"。指定されたファイルが見つかりません。」というエラーが発生するのですがなぜでしょうか??
Chironian

2017/10/31 13:08

稀に発生するエラーのようですが、良く分からないエラーです。 TRK0005 でググると様々な人が様々な方法で解決している様子です。 しかし、なんとなくですが、プロジェクトを最初から作り直したら案外解決しそうな予感も少しします。単なる「感」ですので外れても悪しからずでお願いします。
Lopn_

2017/10/31 13:18

再作成でビルド通りました! ありがとうございました
guest

0

C/C++ > 全般 から追加インクルードディレクトリにlibファイルのあるディレクトリを設定

ヘッダファイルのあるディレクトリを設定してください。

投稿2017/10/31 12:32

LouiS0616

総合スコア35660

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

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

Lopn_

2017/10/31 12:34

libファイルを使用するときはそのlibのヘッダファイルもないといけないのですか? 始めたばかりなので初歩的ですみません
LouiS0616

2017/10/31 12:35

コンパイルする際にクラスや関数などの情報が必要ですので、ヘッダファイルが必要です。 リンク以降の処理には必要ではありませんが。
LouiS0616

2017/10/31 12:47 編集

Visual Studioではワンクリックでビルド&実行が出来ますが、実際にはもうちょっと煩雑です。 ・プリプロセス ・コンパイル... ヘッダファイルが必要です。 ・リンク........ libファイルが必要です。 ・実行........... dllファイルが必要です。 本当はもっともっと複雑かと思いますが、私はこれ以上の挙動は知りません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問