我的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
,则会显示“用户/箱中无抄送”错误。但是我的Solaris 11中安装了GCC。我要更改CC = GCC还是安装新CC。如果我必须安装新的CC,必须安装哪一个?
答案 0 :(得分:1)
cc
通常指向系统默认编译器。在Solaris上,它应该是SolarisStudio的一部分(可以安装或可以不安装)。
如果cc
不可用(用which cc
测试,但gcc
可用,则应将Makefile调整为指向gcc
的位置。
您的Makefile现在可能如下所示:
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