- ベストアンサー
Visual Windows for BC++でのリンクエラーの解決方法とは?
- Visual Windows for BC++でのリンクエラーが発生しています。リンクエラーの原因は、外部シンボルが未解決となっていることです。具体的には、'_cvLoadImage'、'_cvNamedWindow'、'_cvCloneImage'、'_cvGetSize'などが未解決です。libファイルの指定方法がわからないため、エラーが発生しています。解決するためには、libファイルを直接指定する必要があります。
- Visual Windows for BC++でのリンクエラーの解決方法を教えてください。
- Visual Windows for BC++を使用してプログラムをビルドしようとすると、リンクエラーが発生します。具体的には、'_cvLoadImage'、'_cvNamedWindow'、'_cvCloneImage'、'_cvGetSize'などの外部シンボルが未解決となっています。libファイルを直接指定する方法がわからないため、エラーが発生しています。リンクエラーを解決するには、libファイルを正しく指定する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
インポートライブラリは IMPLIBで作成したのでしょうか ソースから再構築してもだめですか? プロジェクト > 設定 の オプション詳細の最後のほうに リンク時に結合: C:\BORLAND\Bcc55\OpenCV\lib\cv.lib C:\BORLAND\Bcc55\OpenCV\lib\highgui.lib C:\BORLAND\Bcc55\OpenCV\lib\cxcore.lib といった記述があればいいようですよ デバッグとリリースで参照するライブラリを変更するなら #pragma comment(lib,"ファイル名") を _DEBUGが設定されているかどうかを #ifdefなどでチェックしてみてください 規定で設定される _DEBUGなどは何かユーザー定義のマクロが無いと設定されないようです Visual Windows for BC++のバージョンはいくつでしょう? 当方は 2.16を使用しています
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
ライブラリは作成しなおしましたか? OpenCVで配布されているバイナリって MS-VC用だと思いますよ Borland-Cの場合はライブラリを再構築しないとだめだと思います OpenCVのインストールフォルダに _makeといったフォルダーがあります ここの中に make_all_bc.makを make.exeに対して -fオプションつきで与えてやります コマンドプロンプトで カレントフォルダを _makeにしておいて make -f make_all_bc.mak[enter] これで構築してから 再度コンパイル&リンクを行って見ましょう
お礼
redfox63さん、またまた回答ありがとうございます。 >ライブラリは作成しなおしましたか? 作成しました。 BCC Developper ではビルドできるので、Visual Windows for BC++の問題だと思い、質問しました。 Visual Windows for BC++とは別のところに問題があるのでしょうか?
お礼
ありがとうございます。 2つ目の >プロジェクト > 設定 の オプション詳細の最後のほうに >リンク時に結合: >C:\BORLAND\Bcc55\OpenCV\lib\cv.lib >C:\BORLAND\Bcc55\OpenCV\lib\highgui.lib >C:\BORLAND\Bcc55\OpenCV\lib\cxcore.lib >といった記述があればいいようですよ でうまくいきました!! これで、コマンドラインから bcc32 -WC -6 -Od -w- -AT -pc -H- -k -b -v -y -eDebug\proj2.exe Debug\opencv1.obj D:\OpenCV\lib\cv.lib D:\OpenCV\lib\cxcore.lib D:\OpenCV\lib\highgui.lib を叩いたときと同じようにビルドできるようになりました。