VC++ .NET 2005 ExpressでApache2.0.59(ssl)をコンパイルし、コンパイル(コマンドラインからです。)まではうまくいったのですが、実行させようとすると、「MSVCR80.dllが見つからなかったため、このアプリケーションを開始できませんでした。...」というエラーが出て実行できません。
別のマシンであれば、Microsoft Visual C++ 2005 再頒布可能パッケージ を入れる必要がある(今までのように単なるコピーではだめ。)ことは分かったのですが、そもそもVC++入っているし、再頒布可能パッケージもインストールしてみたのですが、インストールせずに終了してしまいます。(多分既にランタイムがあるからだと思ってます。)
どなたか原因が分かる方がいれば、アドバイスを下さい。
No.1ベストアンサー
- 回答日時:
VC++2005でCRTをダイナミックリンクすると、実行するためにはマニフェストが必要になります。
解決策としては
コンパイルして.exeが生成されたフォルダ(インストール先ではありません)に、exeのファイル名.manifestというファイルがあるので、これをインストール先の.exeのあるフォルダにコピーする。
コマンドライン等から.exeが生成されたフォルダで
mt.exe -manifest exeのファイル名.manifest -outputresource:exeのファイル名;1
のようにして、.exeにマニフェストを埋め込んで、その.exeをインストール先の.exeに上書きコピーする。
CRTをスタティックリンクする。
のどれかですね。
ありがとうございます。manifestをexeのあるフォルダにコピーしたところ、うまくいきました。
manifestファイルですが、exe用のやつ以外にも、soファイル用のもありましたが、これもコピーする必要があるのでしょうか。(結構数が多いので。)
軽く動かした限りだと、必要なさそうな気がするのですが。
No.2
- 回答日時:
ちょとわかりませんね…
ですが、.exeと.soの要求してるCRTのバージョンが同じであれば問題ないと思います。
.exeと.dll(.so)の要求するCRTのバージョンが違うとか、
.exeのCRTがスタティックリンクでマニフェストがないとか、
みたいな場合が想定される場合にマニフェストを用意する必要があると思います。
ちなみに、.soの場合は、LoadLibraryで読み込まれる.dllなので、
コピーではダメで、mt.exeで埋め込む必要があります。
参考URL:http://msdn2.microsoft.com/ja-JP/library/ms23534 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- UNIX・Linux Fedoraのupgradeで、libruby.so.3.0()がinstallできないという 1 2023/03/30 16:42
- ノートパソコン Win10 EXCEL でのエラー 2 2022/04/03 15:57
- その他(コンピューター・テクノロジー) .NET Frameworkがコントロールパネル>プログラムと機能に表示されない。 3 2022/12/31 15:33
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- その他(コンピューター・テクノロジー) (コマンドプロンプト)コマンドプロンプトのactiveについて 2 2022/07/16 17:21
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
大量のデータを読み込んで表示...
-
C言語の関数と配列に関する質問
-
質問失礼します。 プログラム言...
-
VisualStudio2022でC言語プログ...
-
c言語
-
double型が正常に認識されてい...
-
c言語
-
システムエンジニアの適正について
-
MACで動く実行ファイルをWindow...
-
gcc13.2のバグ?
-
Notepad++の関数リスト表示でC...
-
gccを行ってもexeファイルが生...
-
トリプトファンってケト原性あ...
-
C言語 列挙型(enum型)変数について
-
C言語 配列と関数の練習問題
-
Bitcoin、BTCはブロックチェー...
-
これなにがちがうんですか??
-
だいがくの電し書籍で
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
あなたは、Excelはどうやって学...
-
WindowsのCapsLock(キャップス...
-
質問失礼します。 プログラム言...
-
double型が正常に認識されてい...
-
Notepad++の関数リスト表示でC...
-
どちのほうがすきですか?
-
Stuck
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
C言語の関数と配列に関する質問
-
C言語って古いですか?
-
Linuxでの開発環境構築や設定の...
-
Bitcoin、BTCはブロックチェー...
-
C++6.0でのresource.hについて
-
MACで動く実行ファイルをWindow...
-
C言語 列挙型(enum型)変数について
-
c言語
-
大量のデータを読み込んで表示...
-
こんなことてしますか??
おすすめ情報