Solaris 11中用于编译c程序的CC编译器是什么。使文件指定类似“ CC = cc -Xa -mt -xc99 = no_lib”的名称

时间:2019-07-18 17:14:00

标签: c gcc solaris cc

我的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,必须安装哪一个?

1 个答案:

答案 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