プロが教える店舗&オフィスのセキュリティ対策術

Visual C++ 6.0へのサンプルプログラム(DLL入)のセットの仕方について

購入したオシロスコープに、開発者向けサンプルプログラムが添付されています。
それは、Visual C++ 6.0の Win32 console application用のもので、次の4つのファイルです。
PS2000.dll
ps2000.h
PS2000.lib
PS2000con.c
(c++は、普通拡張子が*.cppですが、++機能使ってないようです。)

プログラムファイルが*.c(*.cpp)だけの場合は、空のプロジェクトを作って、そこに*.cを追加して、コンパイルすればよかったと思います。(以前やってたので)

しかし、今回*.dllや、その他のファイルが入ってます。
これらのファイルをプロジェクト(ワークスペース?)に登録する必要があると思うんですが、どうやるんでしょうか。

現在のワークスペースフォルダーの中味は次のとおりです。
(そのままビルド実行した後です。)
D:.
| PS2000.dll
| ps2000.h
| PS2000.lib
| PS2000con.c
| PS2105.dsp
| PS2105.dsw
| PS2105.ncb
| PS2105.opt
| PS2105.plg
|
\---Debug
PS2000con.obj
PS2105.pch
PS2105.pdb
vc60.idb
vc60.pdb


PS2105.plgの内容です。
--------------------構成: PS2105 - Win32 Debug--------------------
</h3>
<h3>コマンド ライン</h3>
一時ファイル "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP46.tmp" を作成し、次の内容を記録します
[
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/PS2105.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
"D:\C_KIHON\PS2105\PS2000con.c"
]
Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP46.tmp"
一時ファイル "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP47.tmp" を作成し、次の内容を記録します
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/PS2105.pdb" /debug /machine:I386 /out:"Debug/PS2105.exe" /pdbtype:sept
.\Debug\PS2000con.obj
]
コマンド ライン "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP47.tmp" の作成中
<h3>アウトプット ウィンドウ</h3>
コンパイル中...
PS2000con.c
d:\c_kihon\ps2105\ps2000con.c(1257) : warning C4101: 'waveform' : ローカル変数は 1 度も使われません。
d:\c_kihon\ps2105\ps2000con.c(454) : warning C4761: 関数の仮引数と実引数のベース型が異なっています。実引数を仮引数の型に変換します。
リンク中...
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_set_channel@20" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_set_ets@16" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000SetAdvTriggerDelay@12" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000SetAdvTriggerChannelProperties@16" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000SetAdvTriggerChannelDirections@24" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000SetAdvTriggerChannelConditions@12" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_get_times_and_values@36" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_stop@4" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_ready@4" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_run_block@20" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_get_timebase@28" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_set_trigger@24" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_get_values@28" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_run_streaming@16" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_get_streaming_values_no_aggregation@40" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_get_streaming_last_values@8" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_run_streaming_ns@28" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_get_unit_info@16" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_set_sig_gen_built_in@40" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_set_sig_gen_arbitrary@44" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_close_unit@4" は未解決です
PS2000con.obj : error LNK2001: 外部シンボル "__imp__ps2000_open_unit@0" は未解決です
Debug/PS2105.exe : fatal error LNK1120: 外部参照 22 が未解決です。
link.exe の実行エラー
<h3>結果</h3>
PS2105.exe - エラー 23、警告 2

よろしくお願いします。

A 回答 (1件)

> プログラムファイルが*.c(*.cpp)だけの場合は、空のプロジェクトを作って、


>そこに*.cを追加して

普通のサンプルであればプロジェクトファイルもついてると思うのですが
なかったんですか?  という疑問はおいておいて
ほかのファイルでも基本的には *.c と同じです

ライブラリファイル(*.lib)をプロジェクトに追加すればリンクエラーがなくなって
実行モジュールができるはずです


dllファイルは実行モジュールと同じフォルダに置くか
windows\system32フォルダにおいておくだけでいいと思います
(存在しない場合実行時に読み込みエラーでメッセージが表示されるはずです)
    • good
    • 0
この回答へのお礼

出来ました。
dllの方を追加しなくちゃいけないのかと思って思案してました。
プロジェクトファイルは、添付されてなかったです。
その代わり、ボーランドC用、VB用、Delphi用、excel用など、サンプルが付いています。
さっそくありがとうございました。

お礼日時:2015/04/20 06:50

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