こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AquesTalkについて

AquesTalkについて

AquesTalkの環境設定ついてどうか教えていただきたいです。
音声ライブラリのAquesTalkで音声を鳴らすプログラム(c言語:Windows)を作成してます。 
作成していてVisual Stadio2010が入っていないPCでは「MSVCR100.dllが見つからなかったため、このアプリケーションを開始できませんでした。」というエラーが出ることが解りました。
音声フリーソフトのAquesTalkが使用されているものは、はVisual Stadio2010なしのPCで音がなります。
Visual Stadio2010なしで音をならしたいのですが、調べても解りませんでした。

■試したこと
・MSVCR100.dllをsystem32に入れてみた。
・.netFramework4を入れてみた。
・Visual Stadio2010で設定されているリンクを調べてみた。(何がリンクされているから動くのか解らないです。)

■解決するために考えてみたこと
・Visual Stadio2010はPC全体にその環境のパスを設定してくれているのではないか。
・音声フリーソフトのAquesTalkが使用されているものはWindows標準の何かを読み込んで動作しているのではないか。
・それを調べるにはどうすればいいか。

■ここまで考えたのですが、ここから先解らない状態です。

ご存知の方がおられましたら教えてください。
よろしくお願いいたします。

投稿日時 - 2010-06-05 18:29:49

QNo.5946834

すぐに回答ほしいです

質問者が選んだベストアンサー

> アプリケーションの設定とはどこで行うのでしょうか。

 ふつう、プロジェクトを新規作成するときにWin32の場合はアプリケーションウィザードという画面が出てきて、そこにアプリケーションの設定という項目があるのです。

 既成のプロジェクトの場合は、
 プロジェクトのプロパティを開き、「構成プロパティ」「C\C++」「コード生成」の項目で「ランタイムライブラリ」のところを「マルチスレッド(/MT)」にするとDLL使用でなくスタティックライブラリをリンクするようになるようです。

投稿日時 - 2010-06-06 20:40:47

補足

ありがとうございます。
マルチスレッド(/MT)に設定してみましたが、結果は同じでした。
この質問での問題点は、私のVisual Stadioの知識不足からきているものだと思いますので、まず参考書などで勉強してみます。それから問題分析したいと思います。
そうは言いつつも、早く動くようにしたいという思いもありますので、もしよろしければ、今後もお気づきの点がございましたら教えてください。

投稿日時 - 2010-06-06 22:19:13

このQ&Aは役に立ちましたか?

21人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

 Visual Studioの環境というのは、Windowsフォームアプリケーションなのか、MFCアプリケーションなのか、それともWin32アプリケーションなのかという開発プラットホームの環境のことなんですが……

>・MSVCR100.dllをsystem32に入れてみた。 
 似たような名前のDLLが他にもありますので、名前が変わったりはしてなかったですか?
 system32だけじゃなく、作成したアプリと同じフォルダーに入れたらどうなりますか?

 Win32とかMFCの場合はアプリケーションウィザードの「アプリケーションの設定」でリンクをスタティックライブラリに指定するとdll関係は不要になるかと思いますが。

投稿日時 - 2010-06-06 02:11:45

補足

すみません。意味を間違えておりました。
Win32コンソールアプリケーションです。
空のプロジェクトを作成し、sound.cppを作り、webページに載っていたサンプルコードを使用しています。
今、VS2008 express で実行して見ました。
結果は、「AquesTalkDa.dllが見つからなかったため、このアプリケーションを開始できませんでした。」という実行時のエラーダイアログが出ます。
VS2008のエラー・警告は0です。

ソースコードは、
#include<stdio.h>
#include"AquesTalkDa.h"
#pragma comment(lib, "AquesTalkDa.lib")

int main(int argc, char* a[]){//コンソールで引数(ひらがな)を渡す。
AquesTalkDa_PlaySync(a[1]);
//AquesTalkDa_PlaySync("はろーわーるど");
return 0;
}
としております。

VS2010では動作します。

VS2005でも試しましたがが2008と同じでした。

MSVCR100.dllで調べた結果以下のサイトを見つけましがよくわかりません。
http://connect.microsoft.com/VisualStudioJapan/feedback/details/513772/tfs-2-msvcr100-dll-vs2010-2

MSVCR100.dllをexeやソースコードなどプロジェクト内のすべてのフォルダー内に入れて確認しましたが、同じエラーのままでした。

>Win32とかMFCの場合はアプリケーションウィザードの「アプリケーションの設定」でリンクをスタティックライブラリに指定するとdll関係は不要になるかと思いますが。

アプリケーションの設定とはどこで行うのでしょうか。

教えていただけませんでしょうか。
よろしくお願いいたします。

投稿日時 - 2010-06-06 12:59:18

お礼

ありがとうございました。
まだ解決できませんが、今回のご回答は手がかりになりそうです。
ありがとうございました。

投稿日時 - 2010-07-03 23:14:42

ANo.1

・開発マシンと使用マシンの環境の違い
・Visual Studio 2010のどの環境で開発したのか?
などの基本情報が提示されてないと何も言えませんが……

> 音声フリーソフトのAquesTalkが使用されているものは、はVisual Stadio2010なしのPCで音がなります。

 そりゃ、Expressが公開されたばかりのVisual Studio 2010のDLLとかを要求されたら、それはそれで恐ろしい話だと思いますが……
 常識的に考えたら、開発したVisual Studioのバージョンに対応したDLL等は必要だけど、それらはWindowsに最初から入ってたか、Windows Updateでインストールされたか、その他のアプリのインストール時に一緒にインストールされたかとかいうところではないでしょうか。

>■試したこと
>・MSVCR100.dllをsystem32に入れてみた。
>・.netFramework4を入れてみた。
>・Visual Stadio2010で設定されているリンクを調べてみた。
 で、結果は?

投稿日時 - 2010-06-05 20:38:18

補足

説明が足りなくてすみません。
Visual Studio 2010はインストーラ標準のインストールです。
PCは同じものです。Visual Studio 2010の有無の違いだけです。
■試したこと
の結果は、同じエラーが出ました。
リンクを調べてみたのですが、libファイルがたくさん登録されています。
一つ一つ調べてみます。
手がかりになる情報がなくてすみません。
見つかればまた補足します。
よろしくお願いいたします。

投稿日時 - 2010-06-05 22:44:05