Я создаю программу на 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)
, и он отлично работает.