
libdecodeqrをVC6.0のダイアログベースアプリで使いたいの
libdecodeqrをVC6.0のダイアログベースアプリで使いたいのですが、以下のような簡単なコードを書いたのですが、リンクで「error LNK2001: 外部シンボル *** は未解決です」となり、エラーになります。
OpenCVのインストールや設定はできております。
また、libdecodeqrのサンプルにあるsimple,webcam共にビルドし動作するのを確認できています。
// 画像読み込み
IplImage* pImage = NULL ;
pImage = cvLoadImage( strFilePath, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR ) ;
// OPEN
QrDecoderHandle hQRDecoder = qr_decoder_open() ;
// ちょっとした処理
// CLOSE
qr_decoder_close( hQRDecoder );
cvReleaseImage( &pImage ) ;
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>#pragma comment(lib, ".\\libdecodeqr\\libdecodeqr.lib")
個人的には pragma でライブラリ指定したことが無いのですが
(ついでに言えばlibdecodeqrも知りません)
#pragma comment(lib, ".\\libdecodeqr\\libdecodeqr")
にして変わりませんか?
(ヘルプ見ると.libはいらなそうですが)
※ フォルダ指定が間違っていないかも確認してください
(わざと違うフォルダ指定した場合エラー内容が変わるか)
もしくは pragma 指定でなくプロジェクトにライブラリを追加してみるとどうなるでしょうか
この回答への補足
#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になりました。
よきアドバイスを頂き、ありがとうございました。
No.1
- 回答日時:
>error LNK2001: 外部シンボル *** は未解決です
***の部分が重要なのになぜ伏せるのでしょう
普通に考えれば其の関数か変数かが定義されていないのでしょう
変数なら定義し忘れて参照定義だけしているとか
ライブラリ内の関数なら関数名の内間違えか
リンクしてるライブラリが間違っ(不足し)ていると思います
この回答への補足
失礼しました。
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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
未解決の外部シンボル
-
VC++ 6.0へのサンプルプログラ...
-
外部依存関係について
-
外部シンボル" ~~"は未解決で...
-
パブリックシンボルとは?
-
libdecodeqrをVC6.0のダイアロ...
-
このプログラムを動かしたいの...
-
C++でdllの呼び出しについて
-
エラーの意味が??
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
” OS ビルド ” の意味が分か...
-
VBAを何回も作り直して、容量が...
-
Excelのエラーで困ってます。
-
DLL参照時に指定されたモジュー...
-
VB6のデバッガ?強制終了?につ...
-
ビルドとリビルドの違いを教え...
-
パーサとコンパイラの違いって?
-
Visual studio2017で、2回目の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボル" ~~"は未解決で...
-
未解決の外部シンボル
-
LNK2019: 外部シンボル どのよ...
-
C++/CLIでfstream(.NET 3.5)
-
C言語のエラー LNK1120: 外部参照
-
パブリックシンボルとは?
-
popen・pcloseについて
-
プロセスIDの取得の方法。
-
LNK2019: 未解決の外部シンボル...
-
このプログラムを動かしたいの...
-
コンパイルエラー
-
外部シンボルの未解決のエラー
-
C++のエラーの内容について
-
VC++/MFCで error LNK2001
-
PathIsDirectoryを使って
-
open dynamics engine の導入
-
ビルドエラー
-
C言語ソースのオラクルコンパイ...
-
外部シンボル未解決 LNK2001
おすすめ情報