SconsのFortranオブジェクトファイルをリンクする際に問題があります。ここ はsconsのコマンドのコードです:scons gfortran:リンク行から「/ out」を削除
env = Environment(ENV = os.environ , TARGET_ARCH="x86_64")
env = env.Clone(LINKFLAGS = '', LINK='gfortran', tools = 'gfortran')
module = env.Object('bin/module.o', source = 'src/module.f90')
main = env.Object('bin/main.o', source = 'src/main.f90')
env.Requires(main, [module])
sources = [module[0], main[0]]
result = env.Program(target = '#release/result', source = sources)
sconsの行をリンクに与えるのが好きです:
gfortran -o release/result.exe bin/main.o bin/module.o
をしかし、それは与える:
gfortran /OUT:release/result.exe bin/main.o bin/module.o
それはエラーにつながる:
gfortran: error: /OUT:release/result.exe: Invalid argument
リンク行から「/ OUT」を削除するにはどうしたらいいですか?
P.S.
以前は、LINKFLAGSのデファウト値にもう1つ問題がありました。それは "/ nologo"で、エラーにもつながった。
gfortran /nologo /OUT:release/result.exe bin/main.o bin/module.o
gfortran: error: /nologo: No such file or directory
私はLINKFLAGS = ''で解決しました。
どのオペレーティングシステムを使用していますか?無関係な[tag:fortran90]タグの代わりにタグを付けてください。 –
Windows 8 64bit –