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

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

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

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

Visual C++

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

Visual Studio

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

Q&A

解決済

2回答

3356閲覧

VS2017 MSB3075 解決方法をご教授ください

cpp_beginner

総合スコア17

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

Visual C++

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

Visual Studio

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

0グッド

0クリップ

投稿2018/06/26 08:46

環境:
Windows 10 Pro (64bit)(version. 1803)
Visual Studio Professional 2017 (Version. 15.7.4)
WDK for Windows 10, version 1803

Windows 10 (64bit) のドライバを作成したく、
上記の環境に VC++6 プロジェクト(.dsw/.dsp)を移植しているのですが

MSB3075 コマンド "regsvr32 /s /c "C:\hogehoge\(中略)\hogehoge.ocx"
echo regsvr32 exec, time > "C:\hogehoge\(中略)\regsvr32.trg"
:VCEnd" はコード5で終了しました。このコマンドを実行するための十分な権限があるか確認してください。

というエラーが発生し、ビルドが通りません。

コマンドプロンプトを管理者権限で開き、
regsvr32 /s /c "c:\hogehoge\(中略)\hogehoge.ocx"
を c:\Windows\system32\ および c:\Windows\SysWoW64\ 両フォルダで実行してみましたが
解決はしませんでした。

また、下記URLの内容も試しましたが、こちらでも解決には至りませんでした。
https://social.msdn.microsoft.com/Forums/ja-JP/d888bf10-c444-493e-9ad2-23c4a8e30af8/activex1239812467125311249712452125231245612521125401239512388123?forum=vsgeneralja

どなたか解決方法のご教授を宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

そのエラーはCOMの登録に失敗しただけでocx自体は正常に作成されていると思います。

COMの登録を行わないようにビルドを変更したいのであれば、プロジェクトのプロパティの
[リンク]>[全般]から[出力の登録]を「いいえ」にします。
上記が「いいえ」になっている場合は、プロジェクトのプロパティのビルドイベントに登録されているコマンドラインを削除してください。

投稿2018/06/26 13:47

hmmm

総合スコア818

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

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

cpp_beginner

2018/06/27 05:25

hmmm 様 ご回答有難う御座います。 ご教授いただいた プロジェクトのプロパティの [リンカー] > [全般] > [出力の登録] はすでに「いいえ」設定であり、 プロジェクトのプロパティの [ビルド イベント] > [コマンドライン] は、未設定(空欄)でした。 しかしながら、 プロジェクトのプロパティの [カスタム ビルド ステップ] > [全般] > [コマンドライン] に regsvr32 /s /c "$(TargetPath)" echo regsvr32 exec. time > "$(OutDir)regsvr32.trg" と2行のコマンドが設定されていました。 この2行を削除し、ビルドし直したところ、エラーが解消されました。 ご教授、誠に有難う御座いました。大変助かりました。
guest

0

↓が参考になるかも。
VC++で作成したOCX(64bit版)をVB.NET(64bit版)で参照できない

64bit OSで32bit OCX(DLL)を使う場合はSysWow64にコピーして登録。
64bit OSで64bit OCX(DLL)を使う場合はsystem32にコピーして登録。

となります。数字が逆になってるので間違いやすいです。

ちなみにMSBXXXXXはMS Buildのエラーメッセージで、ビルド後の処理に登録のコマンドが書いてあるのだと思います。それがエラーになっているのですね。
なので、ビルドオプションでビルド後の処理のコマンド定義を見直したほうが良いとお思います。

投稿2018/06/26 09:15

PineMatsu

総合スコア3579

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

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

cpp_beginner

2018/06/26 09:47

PineMatsu 様 ご回答有難う御座います。 ご指摘のとおり、エラーはMicrosoft.CppCommon.targetsというファイル内で発生しています。 エラー発生行の記述は、以下のとおりです。 <Exec Command="%(CustomBuildStep.Command)$(_BuildSuffix)" /> 恥ずかしながら、このファイル自体がなにをおこなっているのかさっぱり理解できておりません。 よろしければ、更なる詳細のご教授を宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問