VC++2005で、tmpfile_s関数を使ってテンポラリファイルをオープンして書き込みましたが、通常どこに作成されるのでしょうか?
一時的なので、見る必要はあまりないのですが、気になりまして・・・

このQ&Aに関連する最新のQ&A

A 回答 (5件)

>一時ファイルは、ルート ディレクトリに作成されます



この文の先頭には「実行したプロセスに環境変数 TMP が与えられていない場合や、環境変数 TMP が指すディレクトリが無効な場合は」が抜けてます。

特に、WinXPなどの「NT系OS」は、ブートドライブのルートディレクトリにファイルを作り過ぎると「NTLDR is missing」が発生し、OSが起動しなくなります。
http://support.microsoft.com/kb/320397/ja

この問題は「NTLDRがルートディレクトリのファイルエントリの32番目よりもうしろに追い出される」と発生するので「たとえ一時的であっても、ルートディレクトリには、絶対に32個以上のファイルを作ってはいけない」です。

なので「一時フォルダをルートディレクトリに作っているとしたら、自殺行為に等しい」ので、そんな事は絶対にありません。

tmpname_s関数を使うと「tmpfile_s関数でファイルが作られる際の、一時ファイルの名前」を取得出来るので、tmpname_s関数を試してみると良いでしょう。

以下、蛇足ですが「NTLDR is missing問題」は、最新版のサービスパックをOSに適用しただけでは問題解決しません。

なぜなら「起動ドライブのブートレコードは、サービスパックを適用しても更新される事はなく、問題を含むバージョンのOSで書かれたブートレコードはずっと問題を含んだまま」です。

問題を解決するには「マイクロソフトから、ブートレコードを更新するツールを入手して、起動ドライブのブートレコードを書き換える必要」があります。

>ただ、日本語はまれに誤訳があったり、
>肝心な部分が省略されていたりするので、

機械翻訳なので誤訳は仕方が無いですが、英語の原文そのものが「肝心な部分が書いてない」ので、翻訳が悪い訳じゃありません。「元から抜けてる」んですから、どうしようもないです。

業界では「オフィシャルな筈のMSの情報が一番信用できない」などと言われてたりします。ANSIで規格化されている筈の標準Cライブラリも、MSのだけ「確かに規格の範囲内だけど、MSだけ独自路線を突っ走って」いて、かなり「困ったちゃん」です。

「MSの言う事だけは信用するな」が鉄則です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
WinXPx64Proで、環境変数TMPをルート以外に設定していますが、
C:\にテンポラリファイルが作成されます。
処理が終わると無くなりますが、お書きになった内容ですと
このままこのアプリを動かすと、何かよくないような感じがしてきました。
貴重な情報ありがとうございました。

お礼日時:2009/05/28 19:14

またまた、連続で申し訳ありません。


なにせ心配性なもので...
プログラマの宿命でしょうか?
ご理解ください。

”業界の皆さん"が利用しているツールについて質問ですが、
当然MSの情報に一切基づかないものであるわけですよね。
私はVC++(正確にはVS2008)とMS製品使っちゃています。
捨てなければなりません。

で、代替品を大至急入手する必要があるわけですが、
どういうものをみなさんはご利用なのでしょうか?

gc++とかも考えたのですがMSのwindows.hとかが必要になってしまいます。
SDKとかも信用できないので利用できませんよね。
どうやって解決なされているのでしょうか?

また、MSに全く頼ることなく、独自の開発環境(ライブラリ等も含む)
となると、乏しい私の知識では、”独自にリバース・エンジニアする"
位しか思いつかないのですが、どのようにして情報を入手されて
いるのでしょうか?

リバース・エンジニアリングというと恐らくMSが黙っていないと思います。
そういう製品を利用して開発するとなると、
私には不安があるのですが...
"業界の常識"で広く使われているのだから、
ライセンスとかは完全にクリアされていると理解しています。

どうやってクリアされているのでしょうか?
そのプロセスをご教授願えませんでしょうか?
私の作った製品で利用者様にご迷惑をかけたくないもので、
心配なのです。
そのプロセスが理解できれば、安心して
VSを葬り去ることができます。

どうか、よろしくお願い申し上げます。
    • good
    • 0

ちなみに.....



(どうせ嘘っぱちに決まっているのでどうでもいいのですが,
念のためといことで)

MSDNには確かに機械翻訳の部分も多いですが、
全部ではありません。
機械翻訳の場合はその旨表示されています。

私が"誤記"と言ったのは機械翻訳の誤りのことでは
ありません。
例えば、
http://social.msdn.microsoft.com/Forums/ja-JP/vd …

ことです。
このページには”誤訳"のあったページへのリンクがあります。
リンク先には"機械翻訳"の表示はありません。
(嘘つきのMS、表示をしないなんて朝飯前ですね)
読解力のない私には、”それなりに"きれいな日本語と感じます。
機械翻訳も嫌になるほど読みましたが、雲泥の差です。

(さすが、天下のMS、上質な機械翻訳と質の悪い機械翻訳を
使い分けてまでだましているわけですね。
ほんとにあくどいことこの上ないですね)

それから、私のいう"省略"とは
http://msdn.microsoft.com/en-us/library/aa452850 …
の訳
http://msdn.microsoft.com/ja-jp/library/cc428300 …
のようなものを指します。

英文のremarkにある
AlphaBlend does not support mirroring. If either the width or height of the source or destination is negative, the call to AlphaBlend will fail.

までは訳されています。

AlphaBlend 関数では、ミラー化はサポートされていません。送信元または送信先の幅や高さが負値の場合、この関数は失敗します。

という風に...

しかし、英文ではこの後に続きがあるのですが、
日本語では、記述がありません。

このどこが

>翻訳が悪い訳じゃありません。「元から抜けてる」んですから

というのか、おバカな私には全く理解できないのです。
大変恐縮なのですが、
どうか”暖かいお心で"
おバカの私にも理解できるよう、ご丁寧にご教授下さいませんか?

よろしくお願い申し上げます。

(あー。早く”業界の常識を知りたいです。
Windows 2000/XP用のドライバをリリースしたのですが、
こともあろうにDDKをDLし、作ってしまいました。
きっとこんなことするのはわたしだけなんだろうな。
早く、DDKを全く使用しない”業界の常識"にそったドライバを
リリースしなおさないと大変なことに....)
    • good
    • 0

No.2さん



>この文の先頭には「実行したプロセスに
>環境変数 TMP が与えられていない場合や、
>環境変数 TMP が指すディレクトリが無効な場合は」が抜けてます。

tmpfile_s()とGetTempPath()の仕様を混同されているのではないでしょうか?
http://msdn.microsoft.com/ja-jp/library/cc429356 …

ここには
No.2さんのおっしゃる通り
TMP環境変数が最初に参照される旨記述されています。

もっとも
>「MSの言う事だけは信用するな」が鉄則です。
ですから、この情報も信用してはいけないのですね?

ちょっとお伺いしたいのですが
"「MSの言う事だけは信用するな」が鉄則です"
なら、”業界"の皆さんはどうやって
Windowsプログラミングをしているのですか?

私の周囲にはWindows関係のプログラマが何人もいます。
守備範囲もVBなどで作る一般的なアプリから、
専用のデバイス・ドライバまで幅広いです。
キャリアは当然人によりけりですが、
最古参の人は
Windows 1.xの頃からWinアプリを作っています。

そういう人々は疑問点があるとMSDNで検索したりしてます。
また、アスキー社辺りから出ているMicrosoftオフィシャルの本
を購入して、新技術などを学んでいます。

私も、諸先輩方に学び、ここまでやってきました。

それが、まったくのうそっぱちだったとは!!!!!!
しかも、それ(嘘っぱちだらけであること)が
”業界の常識"であったとは.....

まさに裸の王様ですね。

これから先もWindowsの仕事は続けたいのですが
"業界の常識"となっているサイトや本
(当然、MSが一切関与していないことが条件です。
出典や参考文献、リンク等にMSが出てきたら、
情報の信頼性が根本から揺らいでしまいますので)

を教えてください。

先輩方にも大至急連絡したいので
よろしくお願いします。
    • good
    • 0

一時ファイルは、ルート ディレクトリに作成されます


http://msdn.microsoft.com/ja-jp/library/b3dz6009(VS.80).aspx

他の人にも言えることですが、
質問する前に検索してみてはいかがですか?

上記はグーグルで最初に出てきたものです。
MSDNの記事なので、信憑性は高いです。
ただ、日本語はまれに誤訳があったり、
肝心な部分が省略されていたりするので、
英語版が一番信頼が置けるのですが.....

それでも、MSDN日本語版は日本語Windows上のC/C++開発をやるには
必見だと確信しています。
一般の掲示板より信頼がおけます。

MSDNは情報がありすぎたり、多少用語や概念に難があるので
(特に初心者には)嫌われるのもわかる気がしますが、

"テンポラリの場所"ぐらいはズバっと書いてあるはずです。
食わず嫌いを直すことを強くお勧めします。

MSDNで疑問に感じたことをこういう掲示板で質問したりするのは、
”ありだと思います"
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q復元ポイントの作成とイメージファイル等のバックアップとの違いについて

今晩は、宜しくお願いします。

復元ポイントの作成とイメージファイル等のバックアップとの違いについて教えて下さい。

Windowsで復元ポイントからシステムを復元させる方法があり、
また、イメージファイル等にバックアップをとり、復元させる方法もありますが
この両者はどのように違うのでしょうか。

復元ポイントの作成とは、その時点のシステムの設定等だけを保存しているという
ことでしょうか。

また、イメージファイル等のバックアップを作成するということは
システム設定と作成したファイル等もイメージファイルとして一括してバックアップ
されるのでしょうか。

イメージファイルの復元時に、作成したファイル等もイメージファイルから
復元されるのなら、同じ名前のファイルがあった場合には、
イメージファイル作成時の古い情報のファイルになってしまうのでしょうか。

以上、宜しくお願いします。

Aベストアンサー

【システムの復元】
Windowsが使用するシステムファイルのバックアップと復元。
ユーザーファイルには影響しない。
HDDの中に作成されるので、Windowsが起動しない環境では使用出来ない。

【システム修復ディスクの作成】
Windowsの起動時にF8を押下して起動するセーフモードから「コンピューターの修復」「システム回復オプション」を、外部記憶装置(CD、USBメモリなど)から起動出来るようにする。
Windows自体が起動しなくなった場合に、外部記憶装置から「システム回復オプション」が起動出来るようになる。修復されるのは、選択した項目により異なる。
WindowsREを利用。
https://msdn.microsoft.com/ja-jp/library/hh825173.aspx

【バックアップと復元】
システムのバックアップを作成し、ハードディスクなどが壊れた場合に備えパソコン内部のデータを全てバックアップ・復元出来る。
Windowsのインストールディスクや、システム修復ディスクから復元が可能。
システムもユーザーデータもバックアップを取った時点の状態に戻る。

【システムの復元】
Windowsが使用するシステムファイルのバックアップと復元。
ユーザーファイルには影響しない。
HDDの中に作成されるので、Windowsが起動しない環境では使用出来ない。

【システム修復ディスクの作成】
Windowsの起動時にF8を押下して起動するセーフモードから「コンピューターの修復」「システム回復オプション」を、外部記憶装置(CD、USBメモリなど)から起動出来るようにする。
Windows自体が起動しなくなった場合に、外部記憶装置から「システム回復オプション」が起動出来るようになる。...続きを読む

QVC++6.0からVC++.NET2005へ移植

VC++6.0で作成したプログラムをVC++.NET2005に移植しました。
ビルドを行うと『fatal error LNK1104:ファイル'mfc42.lib'を開くことができません。』のエラーが出てしまいます。
ソリューションのプロパティを見てもどこで「mfc42.lib」の参照を定義しているのか分かりません。
どこで「mfc42.lib」の参照を定義しているのか教えてください。また、対策を教えてください。

Aベストアンサー

VC++.NET2005のエディションをお教えください。
Express Editionでは、リソースエディタがない、
ATL, MFCが使えないなどの制限がいくつか存在します。

また、VC2005などでは.NET Frameworkの開発が前提となっており
WIN32APIを使用する場合などについては、Platform SDKを
インストールする必要があります。

Q救出ファイル復元 2の機能について

「救出ファイル復元 2」で画像ファイルJPEGの他にRAWファイル、拡張子(CR2)を復元出来るでしょうか。

キャノンの一眼デジカメを使っているのですが、他の復元ソフトでは、復元出来ませんでした。

Aベストアンサー

Vectorあたりで『ディスク・ファイル復旧』の項目で探せばみつかりそうですが。
要は,"復元ソフトで復元できるファイルがソフトに登録されている拡張子だけしかできない"ことですので,拡張子を選択できる復元ソフトを捜せばいいと思われます。

参考URL:http://www.vector.co.jp/vpack/filearea/win/util/disk/care/

QVC++2005 VC++6.0で使えた関数がつかえない?(たとえば、GetModuleFileNameとか、、)

VC++超超初心者です。

いままであったVC++6.0で利用できていた、VC++2005で
GetModuleFileNameができなくなりました。
(利用できないことなんて、ないと思いますが、、、)

何か宣言とかinclude文とか必要なのでしょうか。

すみませんが、よろしくお願いします。

Aベストアンサー

VC++2005無料版にはPlatformSDKが別になっているのでそのままでは使えません
別にPlatformSDKをインストールしてVC++2005の設定を変える必要があります
VC++2008では無料版にもSDKが付属しています

Q削除した画像ファイルの取り出しまたは復元方法

ごみ箱に入れてから削除したファイルの復元方法を教えてください。

以前にも同様の質問をしたのですが、その際に教えていただいた方法で確かにいくつかのファイルは復元することができました。

しかし、一番復元したい画像ファイル(jpeg形式)が復元できません、同時期に同じく削除したファイルは無事に取り出せたのですが肝心のファイルは取り出せません。指定するファイル名、フォルダ名などの間違いはないのですが何が原因で復元できないのか理解できません。

良きアドバイスをいただければ助かります。
宜しくお願いいたします。

Aベストアンサー

こういったファイル復元ソフトを利用してファイルを復活させます。

●FileRecovery(フリーウェア)

消去・欠損したファイルを復元するソフト。
http://www.pcinspector.de/download.htm

●復元(フリーウェア)
http://www.vector.co.jp/soft/win95/util/se192983.html

■FINALDATA(ファイナルデータ)フォトリカバリー3.0(有料)
http://www.finaldata.ne.jp/f_8_3.html

当然ながら復元できる確立は有料ソフトのほうが高いです。

これらを使っても復元できない場合はファイルが上書きされて完全に消えている可能性が高いです。

QC/C++インタプリタ CINTをVC++2005でビルドする方法

cint-5.16.19をVC++ 2005でビルドしたいのですが、うまくいきません。

以下の手順で試しました。
1)cint-5.16.19-source.tar.gzをDL&解凍
2)cygwin(bash)を立ち上げてcint-5.16.19のMakefileのあるフォルダに移動
3)./configure msvc8を実行
4)make staticを実行

そうすると、
make[1]: *** [Api.obj] Error 53
が発生します。

VCのcl.exeのあるフォルダにパスは通っています。

Error 53の原因はmspdb80.dllが見つからないからの様でした。
(この時点で何か怪しいですが・・・)

そこで、cl.exeのあるフォルダに
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\mspdb80.dll
から持ってきたmspdb80.dllをコピーしました。

その後、make staticを実行したところ、コンパイルは行われるようになりましたが、

c:\cint-5.16.19\inc\G__ci.h(473) : fatal error C1083: include ファイルを開けません。'math.h': No such file or directory
make[1]: *** [Api.obj] Error 2

というエラーが出て止まってしまいます。

どこが間違っているでしょうか?
ご存知の方、ご教授お願いいたします。

CINT:
http://root.cern.ch/twiki/bin/view/ROOT/CINT

cint-5.16.19をVC++ 2005でビルドしたいのですが、うまくいきません。

以下の手順で試しました。
1)cint-5.16.19-source.tar.gzをDL&解凍
2)cygwin(bash)を立ち上げてcint-5.16.19のMakefileのあるフォルダに移動
3)./configure msvc8を実行
4)make staticを実行

そうすると、
make[1]: *** [Api.obj] Error 53
が発生します。

VCのcl.exeのあるフォルダにパスは通っています。

Error 53の原因はmspdb80.dllが見つからないからの様でした。
(この時点で何か怪しいですが・・・)

そこで、cl...続きを読む

Aベストアンサー

スタートメニューの「Visual Studio 2005 コマンド プロンプト」から起動したコマンドプロンプトからmakeしてください
LIBやINCLUDEなどの環境変数が正しく設定されます

わけもわからずmspdb80.dllをコピーするとかはやめた方が良いです

Q「ウイルス感染ファイル」削除後のシステム復元でどうなる?

ウイルスバスターで幾つかのウイルス感染ファイル発見し全て削除しましたが、感染したファイルはシステムファイルでしたので少し心配でしたが削除しました。
そこで教えて頂きたいのですが、感染した日付以前でシステムの復元をする事によって削除されたシステムファイルは復元できるのでしょうか?一度削除されたシステムファイルはシステムの復元をしても二度と復元しないのでしょうか?

Aベストアンサー

以下WindowsXPという前提で・・・

>システムファイルでしたので少し心配でしたが削除しました。
通常、このままではシステムエラーが発生します。
しかし、Windowsには自動復旧機能があり、削除されたファイルをハードディスク上にあるCabファイルから呼び出して復旧させるようになっています。
従って、殆どの場合、削除されたシステムファイルを手動でインストールする必要はありません。

☆SFCの実行
もしシステムエラーが出る場合SFC(System File Checker)の実行をお勧めします。

1.CDドライブにOSのインストールディスクを入れておく。
2.「スタート」「コマンドプロンプト」または「ファイル名を指定して実行」で
「sfc /scannow」と入力して「OK」

「Windows XP professional のディスクを入れてください」という表示が出ることがありますがHome Editionであれば「無視」を選んでスキップしてください

>感染した日付以前でシステムの復元をする事によって削除されたシステムファイルは復元できるのでしょうか?
出来ないことはないでしょうが、あまりお勧めできません。
現在の状態が正常でない。
過去の状態の方が快適に操作できる。
という場合、それがいいかもしれません。
しかし、Windowsの設定というのは非常に広範囲にわたっており、現在と過去を比較して、どちらが適正かを判断するのは容易ではありません。
また、過去の復元ポイントの中には不正な設定が含まれている場合があり、間違って、そのポイントを選択することもあります。
ウィルス対策ソフトのサイトでは一旦復元設定を無効にして、過去の復元ポイントを全て消去することを推奨しています。

>一度削除されたシステムファイルはシステムの復元をしても二度と復元しないのでしょうか?
間違った操作をすると汚染されたファイルが復元されてしまいます。
一旦復元設定を無効にして、過去の復元ポイントを全て消去することで汚染されたファイルは二度と復元しません。

以下WindowsXPという前提で・・・

>システムファイルでしたので少し心配でしたが削除しました。
通常、このままではシステムエラーが発生します。
しかし、Windowsには自動復旧機能があり、削除されたファイルをハードディスク上にあるCabファイルから呼び出して復旧させるようになっています。
従って、殆どの場合、削除されたシステムファイルを手動でインストールする必要はありません。

☆SFCの実行
もしシステムエラーが出る場合SFC(System File Checker)の実行をお勧めします。

1.CDドライ...続きを読む

QC++の関数をfortranから呼びたい。(g++, vc2005)

C++の関数をfortranから呼びたい。(g++, vc2005)

いつも大変お世話になっています。

以前、下記の質問させて頂いたのですが、
再度問題が発生したので改めて質問させて頂きます。
http://oshiete.goo.ne.jp/qa/5806443.html

WindowsXPで
MinGWを入れて、fortranコンパイラはg77を
VC++2005を入れて、c++コンパイラはclで
実行しようとしています。

以下の内容が実行結果なのですが、
リンクのときにwarningが出ますが、これは何なのでしょうか?
宜しければ、ご教授お願いします。
※ソースは前回の質問に載せてあります。

D:\C>g77 -c helloFortran.f

D:\C>cl /c /EHsc funcHelloC.cpp
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

funcHelloC.cpp

D:\C>g77 helloFortran.o funcHelloC.obj
Warning: .drectve `/DEFAULTLIB:"libcpmt" /DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unr
ecognized

D:\C>

C++の関数をfortranから呼びたい。(g++, vc2005)

いつも大変お世話になっています。

以前、下記の質問させて頂いたのですが、
再度問題が発生したので改めて質問させて頂きます。
http://oshiete.goo.ne.jp/qa/5806443.html

WindowsXPで
MinGWを入れて、fortranコンパイラはg77を
VC++2005を入れて、c++コンパイラはclで
実行しようとしています。

以下の内容が実行結果なのですが、
リンクのときにwarningが出ますが、これは何なのでしょうか?
宜しければ、ご教授お願いします。
※ソースは前回の質問に載せ...続きを読む

Aベストアンサー

http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/6_2.html
リンカに渡すオプション引数なのですが、書式がMS系のものになっていて、g77では理解できないので、無視する、という警告です。


# 前回のでちゃんとコンパイルができたのに、わざわざVC++を使う理由はなんでしょう?

Q復元ソフトのふと感じた疑問 -ファイル名を削除したい-

先日、復元ソフトを使用していたときに感じたことなのですが
(使用ソフトは「復元」です。)
ファイルを復元する際の手順で削除したファイルが検索できますよね。
このファイル検索の時に、HITしないようにファイル名を完全に削除したい場合はどのようにすればいいのでしょうか??

例えば、「●●との秘密旅行001.jpg」のファイルを削除したとします。
その後、復元ソフトで検索をかけるとファイルを復元しなくてもファイル名を見ただけで怪しいファイルとわかってしまいますよね。
復元ソフトの検索で、表示されなくする方法か、別名に変える方法があるのなら教えてください。

Aベストアンサー

95159さんが求めていらっしゃるのは以下の方法ではないでしょうか。

フリーの復元ソフトに「DataRecovery」というものがあります。このフリーソフトには「削除したファイル」の名前を時間をかけず簡単に消去できる機能が付いています。

『DataRecovery』
http://www.vector.co.jp/soft/win95/util/se382922.html

■使い方
起動させる→該当ドライブをクリック→[スキャン]ボタンをクリック→削除したファイルの表示完了→「目的のファイルが見つかりましたか?」と出てきたら[キャンセル]をクリック→名前を消去したいファイルをクリックするか、名前を消去したい複数ファイルを左クリックしながら選択する→[消去]ボタンをクリック→[OK]をクリック

これで、名前を消せます。しかしながら完璧ではなくて、一部消せないこともあります。
(「DataRecovery」を再起動してもう一度ドライブをスキャンすると消せなかったファイルが表示されます)

参考URL:http://www.vector.co.jp/soft/win95/util/se382922.html

95159さんが求めていらっしゃるのは以下の方法ではないでしょうか。

フリーの復元ソフトに「DataRecovery」というものがあります。このフリーソフトには「削除したファイル」の名前を時間をかけず簡単に消去できる機能が付いています。

『DataRecovery』
http://www.vector.co.jp/soft/win95/util/se382922.html

■使い方
起動させる→該当ドライブをクリック→[スキャン]ボタンをクリック→削除したファイルの表示完了→「目的のファイルが見つかりましたか?」と出てきたら[キャンセル]をクリック→名...続きを読む

Q【VC++2005(CLR)】C++/CLIへのUNLHA32の導入、及び、lzh圧縮解凍の実行の仕方について

いつもお世話になっています。
VC++初心者です。

以前の質問と同様になってしまいますが、
再度質問させて頂きたいと思います。

やりたいことは、VC++2005(CLR)で
ボタンを押しすと、lzh圧縮、解凍するようにさせたいです。
↓こんなイメージです。
private: System::Void button_Form1_Click(System::Object^ sender, System::EventArgs^ e) {
  String^ strFileName = "aaa.txt"//ファイル名
  String^ strCompressFileName = "aaa.lzh"//圧縮されたファイル名
  //ここにlzh解凍(べつのボタンでlzh圧縮)をしたい
}
※先頭行に全角スペースを使用しています。


現在、他の方からアドバイスを頂いて、以下の状態まで来ました。
・UNLHA32をダウンロードしました。
 (格納先:C:\Program Files\ArchiverDll\UNLHA32)
・Form1.h内のボタンに実装するので、以下のコードを
 Form1.h内の「#pragma once」の下に追加しました。
#include "C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.H"
・LIBの追加ができていません。
 LIBの追加は、
 ・「ソリューションエクスプローラ」のプロジェクト名を右クリック
   し、「プロパティ」を選択。
 ・「構成プロパティ」-「リンカ」-「入力」をクリック。
 ・「追加の依存ファイル」に「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」
   を記入。
 この時点で、エラーが発生しています。
(UNLHA32.LIBは上記の同フォルダにあります。)

このエラーの対処、及び、これからすべきことを
ご指導頂けませんでしょうか。

お手数ですが、よろしくお願い致します。

いつもお世話になっています。
VC++初心者です。

以前の質問と同様になってしまいますが、
再度質問させて頂きたいと思います。

やりたいことは、VC++2005(CLR)で
ボタンを押しすと、lzh圧縮、解凍するようにさせたいです。
↓こんなイメージです。
private: System::Void button_Form1_Click(System::Object^ sender, System::EventArgs^ e) {
  String^ strFileName = "aaa.txt"//ファイル名
  String^ strCompressFileName = "aaa.lzh"//圧縮されたファイル名
  //ここにlzh解凍(べつのボ...続きを読む

Aベストアンサー

 こんにちは。補足頂きました。

 ・「ソリューションエクスプローラ」のプロジェクト名を右クリックし、「プロパティ」を選択。
 ・「構成プロパティ」-「リンカ」-「入力」をクリック。
 ・「追加の依存ファイル」に「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」

 の手順で追加した「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」のパスを「追加の依存ファイル」から削除して見て下さい(初期状態に戻すと言う事)。
 その後、「ソリューションのリビルド」で出来ませんか。


人気Q&Aランキング

おすすめ情報