クラス用に 3 つの .o ファイルが与えられました。
f0.o f1.o f11.o
中に何が入っているかわかりませんが、機能があることだけは知っています。
eval(int *pj);
私の仕事は、ヒルクライマーと遺伝的アルゴリズムを使用してその関数の最大値を決定することです
.o ファイルは ubuntu でコンパイルされました。Windows 8 64 ビットを実行しています。cygwin32 ビットと cygwin64 ビットをダウンロードしました。.o ファイルは 32 ビットです。
私はそれらをリンクしようとしました
g++ -std=c++11 f0.o main.o -lm
ただし、これらのエラーが発生します (f1.o および f11.o の他の多くのエラー)。
f0.o: In function `Z41__static_initialization_and_destruction_0ii':
f0.cpp:(.text+0x9c): undefined reference to `ZNSt8ios_base4InitC1Ev'
f0.cpp:(.text+0xa1): undefined reference to `ZNSt8ios_base4InitD1Ev'
f0.cpp:(.text+0xa9): undefined reference to `_dso_handle'
f0.cpp:(.text+0xb9): undefined reference to `_cxa_atexit'
/tmp/ccdsysP1.o:main.cpp:(.text+0x4f): undefined reference to `eval(int*)'
これらをグーグルで調べてみましたが、妥当な結果が得られません
誰が何が悪いのか教えてもらえますか?
main.cpp のコードは次のとおりです。
#include <iostream>
using namespace std;
double eval(int *pj);
int main()
{
int vec[150];
int i;
for(i = 0; i < 150; i++){
vec[i] = 1;
}
cout << eval(vec) << endl;
//printf("Fitness = %lf\n", eval(vec));
}