vc++6.0にてdllとlibraryを作成する方法
を知りたいのですが、dllとlibraryを
それぞれ新規プロジェクトで立ち上げれば
作成できるのですが、dllを作成した際に
libraryも作成(自動)されるようなことは
できないのでしょうか?

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

A 回答 (2件)

DLLをビルド(作成)すればLIBも同時に作成されますよ。


プロジェクトフォルダのRelease(又はDebug)配下に存在しているはずです。
    • good
    • 0
この回答へのお礼

ですよね~・・何ででしょう?
できないんですよね・・・・。
何か設定(プロパティ)があるのでしょうか?

お礼日時:2001/11/07 13:02

ひょっとして、


プロジェクトメニューから[設定]⇒[リンク]タブと辿った時に、
「.LIBファイルを生成しない」にチェックが入ってたりなんかして…。
    • good
    • 0

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

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

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

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

QJavaの拡張ライブラリをインストールする時にdllファイルを使った

あるJavaの拡張ライブラリ(下記URLのもの)をインストールする時に、extディレクトリにjarファイルを貼り付けて、さらに付属のdllファイルをsystem32ディレクトリに貼り付ける必要がありました。

あまり、拡張ライブラリをインストールしたことがなかったのですが、少し調べてみるとjarファイルをextディレクトリに置くのは普通らしいのですが、dllファイルを使うというのはあまり聞きません。

jarファイルにはクラスが入っていると思うのですが、dllファイルには、どのような意味があるのでしょうか?

よろしくお願いします。

http://sourceforge.net/projects/netsnmpj

Aベストアンサー

どのような拡張ライブラリが詳細は見ておりませんが…。

おそらく、100% Pure Java(純粋なJava APIのみで実装されたもの)で実現できない機能をCやC++などのネイティブコードで書いて、jarファイル内にあるクラスの中でJNI(Java Native Interface)を使用して呼び出しているのでしょう。
dllファイルはそのネイティブコードにあたる部分になります。

なお、この拡張ライブラリは100% Pure Javaではない(環境依存する)ので、その点は注意して下さいね。

QVC++6.0のプロジェクトをVC++2005Expressで動かしたいがエラーが出まくってしまいます。

VC++6.0のプロジェクトをVC++2005Expressで動かしたいのですが
エラーが出まくってしまいます。
VC++6.0では正常にコンパイル終了するものがexpressだと、

・・・string.h(135) : warning C4003: マクロ '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX' に指定された実引数の数が少なすぎます。

とか、

・・・string.h(135) : error C2065: '_string' : 定義されていない識別子です。

とか、

・・・string.h(135) : error C2275: '_locale_t' : この型は演算子として使用できません

とかです。string.hなど、触ったこともないのですが、
express用に編集が必要なのでしょうか?

ちなみに PlatformSDK などはインストールして、include,exectable,library ディレクトリなどのパスも通しています。

何か良い方法を教えてください。お願いします。

VC++6.0のプロジェクトをVC++2005Expressで動かしたいのですが
エラーが出まくってしまいます。
VC++6.0では正常にコンパイル終了するものがexpressだと、

・・・string.h(135) : warning C4003: マクロ '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX' に指定された実引数の数が少なすぎます。

とか、

・・・string.h(135) : error C2065: '_string' : 定義されていない識別子です。

とか、

・・・string.h(135) : error C2275: '_locale_t' : この型は演算子として使用できません

とかです。...続きを読む

Aベストアンサー

私も同様でした。
次のように対処しました。
1.警告気にしないことにする。(警告数は966件)
2.エラーは修正する。
3.ヘッダーファイルがないと言われたときは
  ***.h  を  ***  に変える

 エラー修正は
ネームスペースが原因のものがほそんどでしたので
ofstream ofs を使っていた場合は
その前に
using namespace std;
を書き加える。

設定で

プロジェクト
プロパティー
文字セット

のところは、

マルチバイト文字セットを使用する

にしています。

 以上、エラーは無視します!!

QDLLファイルのインストールができません。

WIN95を再インストールしたのですが、エクセル97を起動しようとすると、
「起動にはOLEAUT32.DLLが必要です。セットアップメニューより再インストールしてください」と表示されたので、スタート~検索~で調べると、同名のファイル(ただしWIN2.1用)がありましたので、これ削除しようとすると「このファイルはウィンドウズ95内で使用中のため削除不可」というコメントが出ます。仕方なく、他のパソコンから95用バージョンの同名ファイルをFDDにコピーしてC¥WINDOWS¥SYSTEMにコピーしようとしても、「同名のファイルがあるため不可」の表示が出て前に進みません。他のインストール法をご存知の方、どうか教えてください。

Aベストアンサー

#2一部訂正

ごめんなさい。タイプミスです。
「copy a:\oleaut32.dll c:\windows\sysytem」

「copy a:\oleaut32.dll c:\windows\system」
です

QVC++6で作成したDLLをVC++.NET2003から呼び出せますか

現在、VC++.NET2003で作成しています。あるメーカから提供されているDLLがあるのですが、そのDLLとのリンクまではできたのですが、実行するとエラーになってしまいます。
(プログラムが異常終了するのではないのですが、そのDLLからの戻り値がエラーになり、期待した結果が得られません。)
そのDLLはVC++6で作成したものらしく、マニュアルには、VC++6で作成したアプリケーションからの呼び出し方法が、記述されていました。
VC++6でアプリを作成すれば、正常に呼び出せることは明白なのですが、いかんせん、VC++.NET2003での開発が、ある程度進んでしまっていますので、いまからVC++6に切り替えるわけにもいきません。
それで、一般論として、確認したいのですが、VC++6で作成したDLLをVC++.NET2003で使用することは、出来ないのでしょうか。(これから、メーカにも確認する予定ですが、まずは、こちらで確認したく、投稿した次第です)

Aベストアンサー

> もし、原理的にVC++6のDLLをVC++.NETでも呼び出し可能なら、

呼び出すだけなら原理的には可能ですが、作り方次第では正しく動作しないと思います。
典型的なまずい例は、DLL側でmallocやnewなどで割付けたオブジェクトを呼び出し側で解放させる、またはその逆です。

結局のところ、DLLの作り方に強く依存しますので、想像だけではこれ以上分かりません。

QNorton Internet Security 2004のアンインストールに関して、 NAVShExt.dllファイルが削除できません。

インストール後起動しないので再インストールしたくてやったのですが、Norton Internet Security 2004のアンインストールが成功しません。コントロールパネルからの削除ができなかったので、テクニカルサポートで調べながら、レジストリキーの削除、Cドライブの中のSymantec関連のファイルを手動で削除しました。2003試用版のアンインストールが不完全(LiveRegとLiveUpdate削除済みでしたが)の可能性もあるとのことで、削除ツールはSymsetup.exeとRnisUPG.exeとRnav2003.exeを試してみました。
tempファイルもすべて削除しました。
最後にどうしても削除できないファイルが[C:\ProgramFiles\Norton Internet Security\Norton AntiVirus\NAVShExt.dll]です。
このファイルに何かしようとすると次のメッセージが出ます。
「このファイルは有効なWin32アプリケーションではありません」
「削除できません。アクセスできません。ディスクがいっぱい出ないか、書き込み禁止になっていないか又はファイルが使用中でないか確認してください」
このまま、再インストールしてしまってよいものかどうか...
昨日別の質問で3名の方からご回答いただき、セーフモードでも試したり、削除ツールをさがしたりしましたができませんでした。

インストール後起動しないので再インストールしたくてやったのですが、Norton Internet Security 2004のアンインストールが成功しません。コントロールパネルからの削除ができなかったので、テクニカルサポートで調べながら、レジストリキーの削除、Cドライブの中のSymantec関連のファイルを手動で削除しました。2003試用版のアンインストールが不完全(LiveRegとLiveUpdate削除済みでしたが)の可能性もあるとのことで、削除ツールはSymsetup.exeとRnisUPG.exeとRnav2003.exeを試してみました。
tempファイルも...続きを読む

Aベストアンサー

#3です
以下のURLではだめですか

situation
navshext.dll を削除できません。指定されたファイルは、Windows が使っています。」 が手動削除等でNorton AntiVirus のインストールフォルダを削除しようとすると発生する

http://service1.symantec.com/support/INTER/navjapanesekb.nsf/b0dbf49e05cc8def88256db3005f48d0/57b25753a2aec1c049256bd8001e1f4e?OpenDocument&csm=no&prev=http%3A//search.symantec.com/custom/jp/techsupp/kb/query.html%3F*col=kb*st=1*nh=10*qp=url%3A/INTER/navjapanesekb.nsf;,%20url%3A/INTER/gobackjapanesekb.nsf%20url%3A/INTER/navjapanesekb.nsf%20url%3A/INTER/ghostjapanesekb.nsf%20%0A%09%09%09%09%09%09%09url%3A/INTER/nisjapanesekb.nsf%20url%3A/INTER/nswjapanesekb.nsf%20url%3A/INTER/pcajapanesekb.nsf%20url%3A/INTER/winfaxjapanesekb.nsf%20url%3A/INTER/winfaxjapanesekb.nsf%0A%09%09%09%09%09%09%09url%3A/INTER/sharedtechjapanesekb.nsf%20url%3A/INTER/japanesecustserv.nsf*qt=%8E%E8%93%AE%8D%ED%8F%9C*miniver=*pcode=*la=ja<>&sone=_tasks.html&stg=&prod=&ver=&base=&next=&tpre=jp&src=jp_sg&pcode=

#3です
以下のURLではだめですか

situation
navshext.dll を削除できません。指定されたファイルは、Windows が使っています。」 が手動削除等でNorton AntiVirus のインストールフォルダを削除しようとすると発生する

http://service1.symantec.com/support/INTER/navjapanesekb.nsf/b0dbf49e05cc8def88256db3005f48d0/57b25753a2aec1c049256bd8001e1f4e?OpenDocument&csm=no&prev=http%3A//search.symantec.com/custom/jp/techsupp/kb/query.html%3F*col=kb*st=1*nh=10*qp=url%3A/INTER/navjapanese...続きを読む

QVC++6.0で、ダイアログを新規に作成し、クラスウィザードでそのダイ

VC++6.0で、ダイアログを新規に作成し、クラスウィザードでそのダイアログにクラスを割り当てる時
「クラス"CAbcDlg"のファイル(..¥AbcDlg.h, ..¥AbcDlg.cpp)を開けません」という
エラーメッセージが出て、新しいクラスを作れません。何故でしょうか?

注1)正しく作れることもあります。
注2)出来てしまったAbcDlg.hとAbcDlg.cppファイルを削除して、
  同じ操作をすると新しいクラスは作れます。

Aベストアンサー

 こんばんは。

 最近VC6.0を使用していないのですが、確かにそういう現象が発生した事は幾度となくあります。
 CLWファイル(クラスウィザードファイル)に問題があると、発生する現象です。
 プロジェクトのフォルダからCLWファイルをどこか別の場所移動した後、VC6.0を起動しなおしてプロジェクトを読み込むと、正しいCLWファイルを再生成します。此れで対処出来ると記憶しております。
 しかし、何故不完全なCLWファイルを作成してしまうのかは、未だにわかりません。
 尚、CLWファイルの実態は単なるテキストファイルですので、メモ帳などで開いて見る事が出来ます。

Qファイル変換ソフト実行時エラー"序数 6467 がMFC42.DLLから見つかりませんでした"が表示される

 あるファイル変換ソフトを実行したところ、以下のメッセージが表示され正常終了できませんでした。
 調べたところ、MFC42.DLLは、C:\WINDOWS\system32とファイル変換ソフト・インストールフォルダに存在し、MFC42.DLLを入れ替えようとしたのですが、ファイル使用中となりできませんでした。
 また、WINDOWSのパス設定を、C:\WINDOWS\system32からファイル変換ソフト・インストールフォルダに変更すればと思ったのですが、変更方法がわかりませんでした。
 どなたか、対処方法を教えてください。

"序数 6467 がDLLダイナミックライブラリMFC42.DLLから見つかりませんでした"

Aベストアンサー

> 序数 6467 が~

典型的なDll Hellです。

真・コンピュータ用語辞典 - DLL Hell
http://www.geocities.co.jp/SiliconValley/5634/t82C4_0001.html#2448

> MFC42.DLL

こちらは、色んなアプリケーション(Word, Excel, オンラインソフト…)が使用するファイルです。
うかつに書き換え、削除すると、Windowsは起動しても、アプリケーションが使えなくなります。

> また、WINDOWSのパス設定を、C:\WINDOWS\system32からファイル変換ソフト・インストールフォルダに変更すればと思ったのですが、

同じ理由でこちらも止めた方が良いです。
下手をするとOSさえ起動しなくなるかも。

--
Windows9x/Meであれば、ファイル変換ソフトのフォルダにDLLがある今の状態で問題なかったのですが、Win2000あたりから管理方式が変わってしまいました。
レジストリをいじくると、XPでも9x形式のパス検索を行うように出来たはずですが、方法を失念。

類似の操作として、以下の手順で互換モードで起動してみると、どうでしょう?

Windows アプリケーションの互換モードの使用方法
http://support.microsoft.com/default.aspx?scid=kb;ja;292533

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;292533

> 序数 6467 が~

典型的なDll Hellです。

真・コンピュータ用語辞典 - DLL Hell
http://www.geocities.co.jp/SiliconValley/5634/t82C4_0001.html#2448

> MFC42.DLL

こちらは、色んなアプリケーション(Word, Excel, オンラインソフト…)が使用するファイルです。
うかつに書き換え、削除すると、Windowsは起動しても、アプリケーションが使えなくなります。

> また、WINDOWSのパス設定を、C:\WINDOWS\system32からファイル変換ソフト・インストールフォルダに変更すればと思ったのですが、

同...続きを読む

QVC++6.0で作成したクラスをVB6.0で使うには?

初めて投稿します。
プログラミング初心者の為、初歩的な質問になるかもしれませんがご容赦下さい。普段、主にVisual Basic6.0(以下VB6.0)でプログラミングを行なっています。
VB6.0には演算子のオーバーロードする機能がない(?)ため、Visual C++6.0(以下VC++6.0)でプログラミングを行い、VC++6.0で作成したクラスをVB6.0で呼び出して使用したいと考えています。
インターネット上でいろいろと調べてみたのですが、その方法がわからず投稿させていただきました。VC++6.0で作成したDLLの中の関数をVB6.0で呼び出して使用する方法はわかったのですが、クラスということになると、DLLでは無理なのでしょうか?
どなたか、VC++6.0で作成したクラスをVB6.0で呼び出す方法、または勉強方法(教材)などを教えていただけると助かります。
宜しくお願いいたします。

Aベストアンサー

 こんばんは。

 純粋なC++では無理ですが、要はCOM/OLE/ActiveX等、そっち系で作成すれば可能です。
 但し、operator += ()等の様なオーバーロード演算子は不可能です。

 COMを1から実装するのは、顔が歪む程大変な事なので、MFCやATLを使用した方が効果的です。

 ATLの使用方法と実装については、以下が参考になります。
 http://www.koutou-software.co.jp/junk/use-atl-mystruct.html

 自身で検索する際には
 「COM OLE ActiveX ATL IDL バイナリインターフェース」等のキーワードを使うと見つかり易いでしょう。

 後、私の所有しているCOMの書籍によれば、「GUID」を作成する際、オフライン状態で作成すると、世界全国の誰かが作成した「GUID」と衝突を起こす可能性があると書いてありました。
 恐らく、ATL等のウィザードでコードを自動作成している時、一緒に作成される「GUID」にも、同じ事が言えるかもしれません(多分その筈)。
 取り敢えず、オンライン状態で着手される事を、強くお勧めします。

 こんばんは。

 純粋なC++では無理ですが、要はCOM/OLE/ActiveX等、そっち系で作成すれば可能です。
 但し、operator += ()等の様なオーバーロード演算子は不可能です。

 COMを1から実装するのは、顔が歪む程大変な事なので、MFCやATLを使用した方が効果的です。

 ATLの使用方法と実装については、以下が参考になります。
 http://www.koutou-software.co.jp/junk/use-atl-mystruct.html

 自身で検索する際には
 「COM OLE ActiveX ATL IDL バイナリインターフェース」等のキーワードを使...続きを読む

QDLLファイルを削除してもいい?

『Acrobat Reader4.0』を、アンインストールする時に、『DLLファイルを削除しますか?削除すると、他のアプリケーションが起動しない場合があります』のような内容だったので、削除しないまま、アンインストールしました。そのファイルは、残ったままなんですが・・ファイルは削除してしまうと、どういう時に不都合になるのでしょうか?DLLファイルの意味をよく理解していないので、詳しく教えて下さいませ。よろしくお願いします。m(__)m

Aベストアンサー

DLL(ダイナミックリンクライブラリ)は、プログラムの一部を実行ファイルから切り離して、複数のプログラムから使えるようにしたものです。
つまりそのDLLはAcrobat Reader以外のプログラムも使う可能性がある、ということです。
ただし、アンインストーラが自分以外の共有DLLを削除することは、まず、ありません。
アンインストーラが削除しようとするのは、Acrobatをインストールしたときに一緒に入れられたDLLであり、それを他のプログラムが参照することは普通あまり考えられないからです。

後でDLLを手動で削除するときは、そのDLLファイルの置かれている場所を判断の目安にしてください。

アプリケーション(この場合はAcrobat)と同じフォルダ内にあるDLL→ほとんどの場合は消しても問題ない

WindowsのSYSTEMフォルダにあるDLL→消すと問題が起きるおそれがある

QVC++5.0とVC++6.0の違いは?

何がどう変わったんでしょうか?
なんとなく使っているだけなのでぜんぜんわかりません。

簡単にんでいいんで思いつくことを書いてもらえるだけでもうれしいです。


よろしくお願いいたします。

Aベストアンサー

MFCのバージョンが違います。MFCのリファレンスを見れば6で増えた機能が分かります。

例えばブラウザを簡単に作れるCHtmlViewは6でないと使えません。


人気Q&Aランキング