我正在用C语言创建一个程序,我将需要一些水和蒸汽的热力学特性。 我已经在线搜索了,发现了这个图书馆:http://freesteam.sourceforge.net
他们建议在他们的网站上使用“ scons”进行编译。 为此,我必须有一个名为SConstruct的文件,其中包含以下代码
# simple SCons script to build the example(s)
env = Environment()
import sys
import platform
if platform.system() == "Windows":
# windows has problems, so we help it along a bit...
cmd = [sys.executable,r'..\freesteam-config']
else:
# on other platforms, it just works...
cmd = ['freesteam-config']
env.ParseConfig(cmd + ['--libs','--cppflags'])
env.Program('test1',['test1.c'])
并在命令行上运行行$ scons
。
我的大问题是,当我运行一个简单的代码时, 这部分代码似乎无法正常运行:
#include <freesteam/steam_ps.h>
#include <freesteam/steam_pT.h>
#include <freesteam/region4.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
t = d - (a-d)/(1 + pow((p[0]/c),b));
我刚刚发布了库和似乎无效的行,因为其余的只是printfs和scanfs。所有这些变量都是双精度。
然后我得到这个错误
ubuntu@ubuntu:~/Documents/test folder$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o test1 test1.o -L/usr/local/lib -lfreesteam
/usr/bin/ld: test1.o: undefined reference to symbol 'pow@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
scons: *** [test1] Error 1
scons: building terminated because of errors.
如果有人可以帮助我,我将不胜感激。
我不太确定,但我认为可能是pow(
)函数。
尽管我曾尝试放置pow(2,2)
之类的东西,但效果很好。