我正在尝试在INSEL中创建一个用户定义的块,它需要C ++来编程,我用gfortran链接它。
我的程序中有以下代码
// 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:未定义引用 `的std ::计时:: _ V2 :: SYSTEM_CLOCK ::现在()&#39;
collect2.exe:错误:ld返回1退出状态makefile:11:recipe for 目标&#39; inselUB&#39;失败
make:*** [inselUB]错误1
我只是这种接口的初学者。可能是一个简单的错误。有谁能建议我解决方案?
操作系统:赢7
答案 0 :(得分:2)
通常,在将C ++对象与gfortran链接时,需要链接-lstdc++
。如果您使用g ++进行链接,则必须链接-lgfortran
。