• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:libdecodeqrをVC6.0のダイアログベースアプリで使いたいの)

libdecodeqrをVC6.0のダイアログベースアプリで使いたい

このQ&Aのポイント
  • libdecodeqrを使用したVC6.0のダイアログベースアプリ開発についてのエラー解決方法を教えてください。
  • OpenCVのインストールや設定は完了していますが、libdecodeqrを使った簡単なコードがリンクエラーになります。
  • libdecodeqrのサンプルであるsimpleやwebcamは正常にビルド・動作することを確認しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.2

>#pragma comment(lib, ".\\libdecodeqr\\libdecodeqr.lib") 個人的には pragma でライブラリ指定したことが無いのですが (ついでに言えばlibdecodeqrも知りません) #pragma comment(lib, ".\\libdecodeqr\\libdecodeqr") にして変わりませんか? (ヘルプ見ると.libはいらなそうですが) ※ フォルダ指定が間違っていないかも確認してください   (わざと違うフォルダ指定した場合エラー内容が変わるか) もしくは pragma 指定でなくプロジェクトにライブラリを追加してみるとどうなるでしょうか

shouko0918
質問者

お礼

よきアドバイスを頂き、ありがとうございました。

shouko0918
質問者

補足

#pragmaを使用せずに、プロジェクトの設定側でlibを追加したところ、 外部シンボルのエラーがなくなりました。 なぜそうなったのか不思議で、いろいろと設定を見直したところ、 pragamで指定していたPathにあるlibはextern cを定義しない状態でビルドしたlibを入れてありました。 そのlibがいけなかったようです。 完全に私のチョンボでした。 ちなみに、このリンクエラーは解決したのですが、 LINK : warning LNK4098: defaultlib "msvcrtd.lib" は他のライブラリの使用と競合しています; /NODEFAULTLIB:library を使用してください というエラーがでました。これについてはHelpを読んで、以下のlibを無視するように設定してみました。 libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib ひとまずビルドはエラー・警告ともに0になりました。 よきアドバイスを頂き、ありがとうございました。

その他の回答 (1)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

>error LNK2001: 外部シンボル *** は未解決です ***の部分が重要なのになぜ伏せるのでしょう 普通に考えれば其の関数か変数かが定義されていないのでしょう 変数なら定義し忘れて参照定義だけしているとか ライブラリ内の関数なら関数名の内間違えか リンクしてるライブラリが間違っ(不足し)ていると思います

shouko0918
質問者

お礼

お礼のルールがわかってなくてお礼入力していませんでした。 本当に今頃になってしまい申し訳ございませんが、ありがとうございました。

shouko0918
質問者

補足

失礼しました。 error LNK2001: 外部シンボル "_qr_decoder_close" は未解決です error LNK2001: 外部シンボル "_qr_decoder_open" は未解決です ソース内で使用している libdecodeqr.lib の関数について全て未解決ですとエラーになっています。 (今回は簡単にするためにopen/Closeだけにしています) リンクするlibdecodeqr.libと、そのヘッダーはちゃんとあり、このような感じで定義もしてあります。 #pragma comment(lib, ".\\libdecodeqr\\libdecodeqr.lib") #include ".\libdecodeqr\decodeqr.h" で、リンクしたLibに関数や変数が定義されていないのではないか、関数名が間違ってないかというと、そのLibを使用したライブラリに付属されているサンプルソースではちゃんと動作しています。 ただし、そのソースはMFCは使用していません。

関連するQ&A