デバッグビルドでは問題無く動くのですが、リリースビルドを作成しようとすると
error : 要素 <RuntimeLibrary> の値 "マルチスレッド デバッグ (/MT)" は無効です。
と表示されてしまい上手くいきません。
これ以外には致命的なエラーはなさそうなのでこのエラーがリリースビルドを作成できない原因なのでしょうが、
いまいちどういうことなのか分かりません。何をどうすればいいのか教えてください。
(当方C言語に触れて日が浅いので、できるだけわかりやすい言葉で教えていただけると非常に助かります。)
ちなみにランタイムライブラリをマルチスレッドにしてあります。
リリースビルドできません
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: リリースビルドできません
"マルチスレッド デバッグ (/MT)" は無効です。
と言うランタイムライブラリの設定は存在しないはずです。
・マルチスレッド (/MT)
・マルチスレッド デバッグ (/MTd)
・マルチスレッド DLL (/MD)
・マルチスレッド デバッグ DLL (/MDd)
の4択ですので間違いがないか確認してください。
リリースビルドだと
・マルチスレッド (/MT)
・マルチスレッド DLL (/MD)
のどちらかです。
使われているライブラリや環境が不明確なので、これ以上のことは言えません。
と言うランタイムライブラリの設定は存在しないはずです。
・マルチスレッド (/MT)
・マルチスレッド デバッグ (/MTd)
・マルチスレッド DLL (/MD)
・マルチスレッド デバッグ DLL (/MDd)
の4択ですので間違いがないか確認してください。
リリースビルドだと
・マルチスレッド (/MT)
・マルチスレッド DLL (/MD)
のどちらかです。
使われているライブラリや環境が不明確なので、これ以上のことは言えません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
エスキモ
Re: リリースビルドできません
OSはWindowsXP
コンパイラ名はVC++ 2010です。
ランタイム ライブラリの設定を構成がアクティブ(Release)の際にマルチスレッド (/MT)に変更しました。
この状態でリリースビルドしようとすると例の
error : 要素 <RuntimeLibrary> の値 "マルチスレッド デバッグ (/MT)" は無効です。
が出てきて困っています。
このエラーを辿るとMicrosoft.Cpp.Win32.Targetsというファイルに至るのです。
ここに書いてあった不具合の原因らしきものをまとめてみたのですが
・BuildingInIDE,ToolArchitecture,TrackerFrameworkPath,TrackerSdkPath,YieldDuringToolExecution属性が宣言されていない
・TrackFileAccess,PrecompiledHeaderOutputFile,CLToolArchitecture,EmbedManagedResourceFile,
Link_MinimalRebuildFromTracking,LinkToolArchitecture,PrepareForBuildDependsOnが無効な子要素扱いされている
と、何やら見慣れないものばかり書いてあって混乱しているのです……。
コンパイラ名はVC++ 2010です。
ランタイム ライブラリの設定を構成がアクティブ(Release)の際にマルチスレッド (/MT)に変更しました。
この状態でリリースビルドしようとすると例の
error : 要素 <RuntimeLibrary> の値 "マルチスレッド デバッグ (/MT)" は無効です。
が出てきて困っています。
このエラーを辿るとMicrosoft.Cpp.Win32.Targetsというファイルに至るのです。
ここに書いてあった不具合の原因らしきものをまとめてみたのですが
・BuildingInIDE,ToolArchitecture,TrackerFrameworkPath,TrackerSdkPath,YieldDuringToolExecution属性が宣言されていない
・TrackFileAccess,PrecompiledHeaderOutputFile,CLToolArchitecture,EmbedManagedResourceFile,
Link_MinimalRebuildFromTracking,LinkToolArchitecture,PrepareForBuildDependsOnが無効な子要素扱いされている
と、何やら見慣れないものばかり書いてあって混乱しているのです……。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: リリースビルドできません
物は試しなのですが、凄くシンプルなDXライブラリのサンプルプログラムを新規プロジェクトでリリースビルドするとどうなるか試してもらえませんか?
「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxL ... press.html
ここにある手順で作ったサンプルをリリースビルドしてみてください。
「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxL ... press.html
ここにある手順で作ったサンプルをリリースビルドしてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: リリースビルドできません
直接入力しないで、プルダウンメニューから『マルチスレッド (/MT)』を選択して下さい。エスキモ さんが書きました: ランタイム ライブラリの設定を構成がアクティブ(Release)の際にマルチスレッド (/MT)に変更しました。
-
エスキモ
Re: リリースビルドできません
リリースビルドを試してみました。問題無く.exeファイルを作成することができました。softya(ソフト屋) さんが書きました:物は試しなのですが、凄くシンプルなDXライブラリのサンプルプログラムを新規プロジェクトでリリースビルドするとどうなるか試してもらえませんか?
プルダウンメニューから選択したのですが、解決できませんでした。どうやら他に問題があるようです。ISLe さんが書きました:直接入力しないで、プルダウンメニューから『マルチスレッド (/MT)』を選択して下さい。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: リリースビルドできません
シンプルなものと違う点を探してみてください。
試しに別プロジェクトを作ってみて、ソースをコピーしてexeが作れるかを試すのも方法です。
試しに別プロジェクトを作ってみて、ソースをコピーしてexeが作れるかを試すのも方法です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: リリースビルドできません
おかしいですね。エスキモ さんが書きました:プルダウンメニューから選択したのですが、解決できませんでした。どうやら他に問題があるようです。
以前に変更したことのある『ランタイム ライブラリ』の設定すべて確認しましたか?
プロジェクトの設定だけでなく、ソースファイルごとの設定とか。
どこを変更したか忘れてしまったのなら、vcxproj拡張子のファイルをメモ帳で開いて、中身を貼ってください。