0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

setupapi.libをC++Builder・64bitアプリでリンクする方法

Posted at

QueryDosDeviceWなどのAPIを使って、特定のベンダIDとプロダクトIDをもつUSBがどのドライブに割り当てられているかの情報を取得する為に、いったんサンプルを作って、

 #pragma	comment(lib,"setupapi.lib") 

でsetupapi.libをリンクして色々すると上手く取れたので、いざアプリに作り込もうとすると、

[ilink64 エラー] Fatal: Unable to open file 'SETUPAPI.LIB'

と言われてしまってリンクできない。
色々調べまわって結論、C++Builderで64bitアプリを作成する際にリンクするのは*.libではなくて*.aだということを忘れていました。
サンプルは32bitで、本番アプリは64bitで作ってたんです。

なので、当たり前なんだけどリンク部分を

#pragma	comment(lib,"setupapi.a")

に変更すると上手くいきました。

こんなあほなことで時間を溶かす人は他にいないかもしれないですが、どなたかのお役にたてれば幸いです・・・

ちなみに解決に直接関係ないけど参考にしたサイトです。
ちゃんとsetupapi.aでリンクしてるのに上手くいかないという方はこちらのサイトを参考にするとヒントがあるかも。
http://www.cppfans.com/vcl/victorcomm/yb_comm_questions.asp

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?