ntp-4.2.8p15/sntp/utilities.c:63: undefined reference to `pow'
时间: 2024-02-02 11:03:18 浏览: 83
这个错误信息表明在编译链接时找不到函数pow的实现。pow是一个数学函数,需要在使用时链接数学库libm。你可以在编译时加上"-lm"选项,来链接数学库,例如:
```
gcc -o your_program your_source.c -lm
```
如果你使用了Makefile,可以在对应的链接命令中加上"-lm"选项。
```
your_program: your_source.o
gcc -o your_program your_source.o -lm
```
这样就能正确链接数学库,解决问题。
相关问题
海思 arm-hisiv500-linux-gcc 交叉编译ntp-4.2.8p5.tar.gz,在make过程中出现./include/ntp_crypto.h:27:25: fatal error: openssl/evp.h:没有那个文件或目录,apt-get install libssl-dev提示已经安装最新了,然后使用make CFLAGS="-I/path/to/openssl/include" LDFLAGS="-L/path/to/openssl/lib",出现/usr/include/openssl/evp.h:66:34: fatal error: openssl/opensslconf.h:没有那个文件或目录 # include <openssl/opensslconf.h>
这个问题可能是因为您的编译环境没有正确设置 OpenSSL 库的路径。您可以尝试以下步骤来解决这个问题:
1. 确认 OpenSSL 库已经正确安装,并且相关的头文件和库文件都在正确的路径下。
2. 执行以下命令,将 OpenSSL 库路径添加到 LD_LIBRARY_PATH 环境变量中:
```
export LD_LIBRARY_PATH=/path/to/openssl/lib:$LD_LIBRARY_PATH
```
这个命令将会添加 OpenSSL 库所在的路径到 LD_LIBRARY_PATH 环境变量中,让编译器能够正确地找到所需的库文件。
3. 执行以下命令,将 OpenSSL 的头文件路径添加到 CFLAGS 环境变量中:
```
export CFLAGS="-I/path/to/openssl/include $CFLAGS"
```
这个命令将会添加 OpenSSL 头文件所在的路径到 CFLAGS 环境变量中,让编译器能够正确地找到所需的头文件。
4. 然后重新运行 make 命令,看看是否能够成功编译。
希望以上步骤能够解决您的问题。
ntp-dev-4.3.99.tar.gz和ntp-4.2.8p15.tar.gz
ntp-4.2.8p15.tar.gz是稳定版本,而ntp-dev-4.3.99.tar.gz是正在开发的版本。ntp-dev-4.3.99.tar.gz包含一些新的功能和改进,但可能不稳定或存在不兼容的变化。如果你只是需要使用NTP协议来同步时间,建议使用ntp-4.2.8p15.tar.gz。如果你需要使用最新的功能或想参与开发和测试,可以考虑使用ntp-dev-4.3.99.tar.gz。
阅读全文