与 gfortran 链接时未定义对 'std::chrono::_V2::system_clock:now()' 的引用
Undefined reference to `std::chrono::_V2::system_clock::now()' when linking with gfortran
我试图在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: undefined reference to"std::空间::_V2:: system_clock::现在()
collect2.exe:错误:ld返回1退出状态makefile:11:配方目标'inselUB'失败
make: *** [inselUB] Error 1
对于这种类型的接口,我只是一个初学者。可能是一个简单的错误。谁能给我一个解决办法?
OS: win7
通常情况下,在链接c++对象和gfortran时需要链接-lstdc++
。如果你链接g++,你必须链接-lgfortran
相关文章:
- 如何在c++中使用system()来运行包含空格的python脚本
- 使用 SendInput 或 mouse_event 不适用于 clock()?
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- C++/CLI System.AccessViolation在托管类中调用非托管函数时出现异常
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- 程序在使用 system() 启动另一个可执行文件时停止
- 为什么我的 DeviceInformation 对象没有 System.Devices.InterfaceClassGuid 属性?
- 为什么"using System;"不被视为不良做法?
- C++ 合并字符串以'system'函数错误
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- 将 Vcl::Controls::TCaption aka (System::UnicodeString) 转换为 co
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- Python os.system() 返回错误值
- 使用 system() 函数在C++程序中运行 cmd 命令
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- system() 无法运行我的程序,因为空间
- How to recover system gcc compiler on centos 6
- 导出 c++ 函数并使用 c# System.AccessViolationException 中的函数
- c++ 中的 clock() 时间和 java 中的 System.CurrentTimeMillis() 之间的时间差