リリースビルドできません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
エスキモ

リリースビルドできません

#1

投稿記事 by エスキモ » 14年前

デバッグビルドでは問題無く動くのですが、リリースビルドを作成しようとすると

error : 要素 <RuntimeLibrary> の値 "マルチスレッド デバッグ (/MT)" は無効です。

と表示されてしまい上手くいきません。
これ以外には致命的なエラーはなさそうなのでこのエラーがリリースビルドを作成できない原因なのでしょうが、
いまいちどういうことなのか分かりません。何をどうすればいいのか教えてください。
(当方C言語に触れて日が浅いので、できるだけわかりやすい言葉で教えていただけると非常に助かります。)

ちなみにランタイムライブラリをマルチスレッドにしてあります。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: リリースビルドできません

#2

投稿記事 by softya(ソフト屋) » 14年前

"マルチスレッド デバッグ (/MT)" は無効です。
と言うランタイムライブラリの設定は存在しないはずです。
・マルチスレッド (/MT)
・マルチスレッド デバッグ (/MTd)
・マルチスレッド DLL (/MD)
・マルチスレッド デバッグ DLL (/MDd)
の4択ですので間違いがないか確認してください。

リリースビルドだと
・マルチスレッド (/MT)
・マルチスレッド DLL (/MD)
のどちらかです。

使われているライブラリや環境が不明確なので、これ以上のことは言えません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

エスキモ

Re: リリースビルドできません

#3

投稿記事 by エスキモ » 14年前

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が無効な子要素扱いされている
と、何やら見慣れないものばかり書いてあって混乱しているのです……。

エスキモ

Re: リリースビルドできません

#4

投稿記事 by エスキモ » 14年前

書き忘れてしまいましたが、DXライブラリを使用しています。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: リリースビルドできません

#5

投稿記事 by softya(ソフト屋) » 14年前

物は試しなのですが、凄くシンプルなDXライブラリのサンプルプログラムを新規プロジェクトでリリースビルドするとどうなるか試してもらえませんか?

「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxL ... press.html
ここにある手順で作ったサンプルをリリースビルドしてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: リリースビルドできません

#6

投稿記事 by ISLe » 14年前

エスキモ さんが書きました: ランタイム ライブラリの設定を構成がアクティブ(Release)の際にマルチスレッド (/MT)に変更しました。
直接入力しないで、プルダウンメニューから『マルチスレッド (/MT)』を選択して下さい。

エスキモ

Re: リリースビルドできません

#7

投稿記事 by エスキモ » 14年前

softya(ソフト屋) さんが書きました:物は試しなのですが、凄くシンプルなDXライブラリのサンプルプログラムを新規プロジェクトでリリースビルドするとどうなるか試してもらえませんか?
リリースビルドを試してみました。問題無く.exeファイルを作成することができました。
ISLe さんが書きました:直接入力しないで、プルダウンメニューから『マルチスレッド (/MT)』を選択して下さい。
プルダウンメニューから選択したのですが、解決できませんでした。どうやら他に問題があるようです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: リリースビルドできません

#8

投稿記事 by softya(ソフト屋) » 14年前

シンプルなものと違う点を探してみてください。
試しに別プロジェクトを作ってみて、ソースをコピーしてexeが作れるかを試すのも方法です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: リリースビルドできません

#9

投稿記事 by ISLe » 14年前

エスキモ さんが書きました:プルダウンメニューから選択したのですが、解決できませんでした。どうやら他に問題があるようです。
おかしいですね。
以前に変更したことのある『ランタイム ライブラリ』の設定すべて確認しましたか?
プロジェクトの設定だけでなく、ソースファイルごとの設定とか。

どこを変更したか忘れてしまったのなら、vcxproj拡張子のファイルをメモ帳で開いて、中身を貼ってください。

閉鎖

“C言語何でも質問掲示板” へ戻る