我的 make 文件中有这些行:
ifeq ($(SYSTEM),SOLARIS)
# SUN Solaris 8 no c99
ifeq ($(OSVER),510)
CC=c99 -Xa -mt
LD=c99
else
CC=cc -Xa -mt -xc99=no_lib
LD=cc
我必须在 Solaris 11 中编译我的代码。以前有人在 Solaris 10 或 9 中编译。不知道是哪个。
如果我执行which CC
它给出"用户/bin中没有CC"错误。但是我的 Solaris 11 中安装了 GCC。我有更改CC=GCC还是安装了新的CC。如果我必须安装新的 CC,我必须安装哪一个?
cc
通常指向系统默认编译器。 在 Solaris 上,这将是 SolarisStudio 的一部分(可能会安装,也可以不会安装(。
如果cc
不可用(使用 which cc
进行测试(,但gcc
可用,则应调整 Makefile 以指向gcc
位置。
您的生成文件现在可能如下所示:
ifeq ($(SYSTEM),SOLARIS)
# SUN Solaris 8 no c99
ifeq ($(OSVER),510)
CC=c99 -Xa -mt
LD=c99
else ifeq ($(OSVER),11)
CC:=/usr/sfw/bin/gcc
else
CC=cc -Xa -mt -xc99=no_lib
LD=cc