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

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

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

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

Visual Studio

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

Q&A

解決済

1回答

7283閲覧

VS2019におけるmsvcprtd.libへのリンク設定について

yoyoyoyoyo

総合スコア5

Visual C++

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

Visual Studio

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

0グッド

0クリップ

投稿2019/09/20 08:08

編集2019/09/22 11:54

前提・実現したいこと

FlyCapture2というプロカメを使うためのプログラムを http://13mzawa2.hateblo.jp/entry/2015/11/13/030939 のサイトを参考に書こうとしています. 該当サイトに記載されているソースコードをコピペしたものをVS2019にてslnファイルとして構成しています.

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

"LNK1104 ファイル 'msvcprtd.lib' を開くことができません。" というエラーメッセージが消せずに困っています.

試したこと

msvcprtd.libファイルへのリンカーを設定しようとしましたが,そもそも自分のファイルにはインストールできていないようでした.
インポートしようとしましたが,ネット上でダウンロードできるサイトが見つけられませんでした.
ソリューションのプロパティから(構成プロパティ>リンカー>入力>特定のライブラリを無視)にmsvcprtd.libを入力して回避しようとしましたが,他のライブラリファイルへのアクセスを要求され,最終的にOLDNAME.libを無視するように設定するとエラーが大量に発生してしまいました.

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

opencvはバージョン3.1を使用しています.
スタティックライブラリの知識がなく,調べてもどん詰まりで完全になにもできない状態です.

追記:Visual Studio 2019を,64 bitベースのWindows 10上で使用しています.
どうやらmsvcprtd.libのリンカーが正しく通っていなかったようで,リンカーにパスを追加すると問題なく通すことができました.
この後,再びビルドすると前述のエラーは消すことが出来ましたが,最新版のmsvcprtd.libがProgram files(x86)の直下にしかなく,どうやらx86ベースのライブラリしかインストールされていないようです.

エラー LNK1112 モジュールのコンピューターの種類 'x86' は対象コンピューターの種類 'x64' と競合しています。

これはVisual Studioを再インストールするしかないのでしょうか?

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

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

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

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

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

Bull

2019/09/20 11:29

'msvcprtd.lib' は C++ のプログラムをビルドする時に必要になりますが、簡単なコンソールアプリケーション (hello, world とか) はビルドできますか? また、'msvcprtd.lib' はどこからかダウンロードするようなものではなく VC++ の一部なので、もしないとすれば、再インストールか修復するしかないかもしれません。
yoyoyoyoyo

2019/09/22 11:55

どうやらx86ベースのライブラリしかないようで……再インストールしてみます,ありがとうございました!
Bull

2019/09/22 12:04

ちょっと待ってください、その 'msvcprtd.lib' は x86 フォルダーにあると思いますが、同じ階層に x64 フォルダーはありませんか?
Bull

2019/09/22 12:14 編集

そもそも 'msvcprtd.lib' はデフォルトのままでリンクされるはずですが、プロジェクトのプロパティが変になってませんか?
yoyoyoyoyo

2019/09/22 13:00

'msvcprtd.lib'はC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\libにあるのですが,C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\libにあるのですが,他にx64向けっぽいファイルはなさそうです…… opencvをインストールするときにいろいろ試してインクルードディレクトリとかがopencvのフォルダしかデフォルトで入ってなかったりするのですが,そのたぐいのエラーでしょうか?
Bull

2019/09/22 13:17

それは多分違います。それは Visual Studio 2015 用のライブラリーです。 Visual Studio 2019 用のライブラリーは例えば、"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\lib" となります。
yoyoyoyoyo

2019/09/22 13:29

なるほど! 同じ要領でパスを通すとビルドできました! ありがとうございます!
guest

回答1

0

ベストアンサー

Visual stdio とか、Windowsとかの環境の記述がありませんが、、、
ちょっと検索したら、
「MSB8038: Spectre 軽減策が有効... バグとかの記述がありますが、関係あるでしょうか?

参考までに。

投稿2019/09/20 15:00

pepperleaf

総合スコア6383

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問