我遇到了通过f2py进行编译的问题。我有一个f90模块,里面有几个子程序。到目前为止,它一直在编译,以便在python脚本中使用。但是,现在当我尝试编译并构建它时,它会抱怨这个错误:
build/src.macosx-10.5-x86_64-2.7/PyCosmology/sims/fort/read_sim-f2pywrappers2.f90:355.17:
allocate(d())
1
Error: Shape specification for allocatable scalar at (1)
它还有另外两个错误,但这些错误只是d()
未在此处正确分配的结果。您可以看到它正在编译的文件是f2py包装器。更奇怪的是,当我实际查看它指向的包装文件时,第355行实际上是:
allocate(d(s(1),s(2)))
所以我不知道编译器为什么告诉我在allocate语句中没有形状说明符。因此,我不知道如何解决它!
请注意,自上次正确编译后,我已经稍微更改了模块,但是发生此错误的数组我根本没有触及,也没有触及它存在的特定子程序。
答案 0 :(得分:0)
想出来。
我试图分配一个整数。遗憾。