gpt4 book ai didi

makefile - Solaris SPARC 10中的编译器

转载 作者:行者123 更新时间:2023-12-02 10:46:05 27 4
gpt4 key购买 nike

我有安装了Solaris 10 SPARC的Sun服务器。
我已经使用tarball源代码成功安装了libevent和openssl。我正在尝试使用gnu gmake编译tor-0.2.5.16。我在solaris终端上遇到以下问题,如下所示

CCLD    src/test/test
Undefined first referenced
unsetenv src/test/src_test_test-test-util.o
setenv src/test/src_test_test-test-util.o
ld: fatal: Symbol referencing errors. No output written to src/test/test

我从这里去哪里?

最佳答案

setenv()unsetenv()是POSIX 6/SUSv3/XPG6功能。如果您安装的是Solaris 10的较旧版本,则它可能早于POSIX 6,并且可能没有setenv()unsetenv()。如果您的安装中包含/usr/include/stdlib.hsetenv()unsetenv()中将包含以下内容:

#if defined(__EXTENSIONS__) || \
(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
defined(_XPG6)
extern int posix_memalign(void **, size_t, size_t);
extern int posix_openpt(int);
extern int setenv(const char *, const char *, int);
extern int unsetenv(const char *);
#endif

请注意,要使用这些功能,您必须具有特定的值 #define'd。不要尝试直接对它们进行 #define。对于 the standards.5 man page,您必须 #define或使用 -D编译器选项 _XOPEN_SOURCE=600。而且您 绝对不能定义 _XOPEN_SOURCE_EXTENDED。如果 _XOPEN_SOURCE_EXTENDED_XOPEN_SOURCE一起定义,则将获得SUS/XPG4v2,而不是SUS3/XPG6。

关于makefile - Solaris SPARC 10中的编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56595150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com