ここから本文です

ライブラリの使い方について

caf********さん

2013/6/2220:08:16

ライブラリの使い方について

GAlibというライブラリを使おうと思ったのですが、以下の様になって困っています。
助けてください。ソースコードはhttp://www.noblab.jp/research/ga/sample2.cppです

1>------ ビルド開始: プロジェクト: test, 構成: Release Win32 ------
1>Source.obj : error LNK2001: 外部シンボル ""public: class GAGenome const & __thiscall GAStatistics::bestIndividual(unsigned int)const " (?bestIndividual@GAStatistics@@QBEABVGAGenome@@I@Z)" は未解決です。
1>Source.obj : error LNK2001: 外部シンボル ""public: void __thiscall GAStatistics::flushScores(void)" (?flushScores@GAStatistics@@QAEXXZ)" は未解決です。
1>Source.obj : error LNK2001: 外部シンボル ""public: virtual int __thiscall GASimpleGA::populationSize(unsigned int)" (?populationSize@GASimpleGA@@UAEHI@Z)" は未解決です。
(中略)
1>Source.obj : error LNK2001: 外部シンボル ""float __cdecl garan2(void)" (?garan2@@YAMXZ)" は未解決です。
1>Source.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall GAGenome::copy(class GAGenome const &)" (?copy@GAGenome@@UAEXABV1@@Z)" は未解決です。
1>Source.obj : error LNK2001: 外部シンボル ""public: virtual __thiscall GAGenome::~GAGenome(void)" (??1GAGenome@@UAE@XZ)" は未解決です。
1>Source.obj : error LNK2001: 外部シンボル ""public: __thiscall GAGenome::GAGenome(void (__cdecl*)(class GAGenome &),int (__cdecl*)(class GAGenome &,float),float (__cdecl*)(class GAGenome const &,class GAGenome const &))" (??0GAGenome@@QAE@P6AXAAV0@@ZP6AH0M@ZP6AMABV0@3@Z@Z)" は未解決です。
1>Source.obj : error LNK2001: 外部シンボル ""public: static void __cdecl GAGenome::NoInitializer(class GAGenome &)" (?NoInitializer@GAGenome@@SAXAAV1@@Z)" は未解決です。
1>C:\Users\def\Documents\Visual Studio 2012\Projects\test\Release\test.exe : fatal error LNK1120: 15 件の未解決の外部参照
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

閲覧数:
773
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

buy********さん

2013/6/2221:28:33

>cafelate911さん

***ソースに問題はないようです。
Linux環境なのですが

libga-devというパッケージを追加インストールして

ソースに
#include "math.h"
を追加し、

#include "GARealGenome.c"

#include "GARealGenome.C"
に修正することでコンパイル実行できるようになりました。

g++ sample2.cpp -I /usr/include/ga -lga -lm

でエラー、ワーニング無しでコンパイルできてます。


***エラーについて
リンカでエラーがでてるようです。
リンカに正しい設定を行なってGAlibのライブラリをリンク時に正しくリンクできるように設定してやれば問題解決すると思います。

ちょっとネット検索したところでは、配布物に、その設定方法が記載されていると書いてあるサイトがありました。

ネット検索するか、配布物の文書にしたがって、リンカ関係の設定をやり直してみて下さい。



よろしくお願い致します。

質問した人からのコメント

2013/6/22 22:19:48

降参 #pragma comment(lib, "ga/ga.lib")をソースに追加、_HAS_ITERATOR_DEBUGGING=1をプリプロセッサに追加でなんとかなりました。ありがとうございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる