2016-10-28 7 views
0

私はプログラミングのためにC++を必要とするINSELにユーザ定義ブロックを作成しようとしています。gfortranとリンクするときの `std :: chrono :: _V2 :: system_clock :: now() 'への未定義の参照

私は私の乱数生成器にシードとして設定するには、私のプログラム

// Setting seed for random number generators 
unsigned seed = static_cast<int> (std::chrono::system_clock::now().time_since_epoch().count()); 

に次のコードを持っています。 g ++(gcc v.5.1.0)を使用してコンパイルすると、エラーも警告も表示されません。私のコンパイルコマンドは

g++ -O0 -Wall -c -g3 -std=c++14 -fmessage-length=0 $(sourcesC) 

sourcecCにはすべて私の.cppプログラムがあります。しかし、私はとのgfortranを使用して、それをリンクしようとすると:

gfortran -shared -o C:\***\inselUB.dll -Wall -L./ -linselTools $(objects) 

私はエラーを取得する:

C:***\resources/../src/constants.h:54: undefined reference to `std::chrono::_V2::system_clock::now()'

collect2.exe: error: ld returned 1 exit status makefile:11: recipe for target 'inselUB' failed

make: *** [inselUB] Error 1

私はインタフェースのこのタイプにちょうど初心者です。その単純なエラーかもしれません。誰も私に解決策を提案できますか?

OS:

答えて

2

勝利7は、通常はのgfortranとC++オブジェクトをリンクする際-lstdc++をリンクする必要があります。 g ++にリンクしている場合は、-lgfortranにリンクする必要があります。

関連する問題