gccmac编译
在xcode下选择建立mac程序,然后找到command line tools类型的工程,然后选择下一步,选择工程的type为C语言,你看看这样能成吗?
那也可以啊!学是的语言,用什么IDE环境无所谓。
❷ C语言 gcc命令 MAC系统
大致上明白,你是想用终端,GCC编译器编译C源文件吧?
第一步:你用编辑器例如textwrangler编辑C源文件(不推荐用XCODE,因为目前来说没必要)
int main(int agrc, char* agrv[]) {
int i = 3;
printf("%d", i);
return 0;
}
编辑完成后,放在桌面上(我只是举个例子,你可以放在不同的文件目录下)
第二步:你打开终端,输入
cd /Users/你电脑用户名/Desktop/
你可以输入pwd确认下当前路径是否是桌面,ls可以显示当前路径的所有文件夹。
然后再输入 cc -c main.c 开始编译
在桌面上会生成一个main.o的二进制文件。
然后再输入 cc main.o 链接库
然后会生成一个a.out的最终文件,你可以输入./a.out运行。
满意请采纳,谢谢
❸ mac os 安装gcc
下载完成后,通过terminal进入下载目录,即gcc-4.8-bin.tar.gz所在的目录。输入命令:
gunzip gcc-4.8-bin.tar.gz
解压gcc-4.8-bin.tar.gz压缩包,注意只需要解压一次,在同一目录下得到gcc-4.8-bin.tar文件。
3.继续在terminal中输入命令:
sudo tar -xvf gcc-4.8-bin.tar
输入密码后,自动在当前目录下生成了usr目录。cd /user/local/bin就可以看到所有的gcc相关的命令了。当然你也可以将整个目录移动到你需要的目录。
4.添加gcc路径。关掉当前terminal,重新新建一个terminal。输入如下命令:
touch ——/.bash_profile
新建一个bash_profile文件,使用vi或者其他编辑器写入如下代码:
export PATH=“/Users/lizhaotailang/Gcc/usr/local/bin:$PATH”
,当然这是我的路径,具体的路径根据你的实际情况而定。写入完成后关闭文件。为了使文件生效,还需要在terminal输入
source ——/。bash_profile
。
5.查看是否生效。在terminal中输入:
echo $PATH
,如果能够在输出中看到刚刚添加的路径就说明添加成功了。或者直接输入gcc命令,如果能够看到gcc的clang错误而不是找不到文件的话,就说明配置成功了。
6.然后就可以愉快的使用gcc了。
❹ mac下gcc编译出现问题,求助,在线等
错误提示:
mac gcc Undefined symbols for architecture x86_64 "std::__1:
//
Undefined symbols for architecture x86_64:
"std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in Person-c78205.o
"std::__1::ios_base::getloc() const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in Person-c78205.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from:
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std:
...
---------
//
gcc 开启使用标准c++库即可
比如:
gcc -lstdc++ Person.cpp -o Person
❺ mac 使用gcc 为什么编译错误是clang 提示
因为Mac上现在的GCC其实还是clang。如果想要用gcc需要自己安装。但是clang的编译效率是gcc的超多倍,所以基本很少会要用到gcc的。
找本书好好看,应该是什么地方打算了吧
GCC那里不是有提示
第几行错误么?
#include
main()
{
printf("hello
word\n");
}
-------
GCC
name.c
如果不成功的话
他好像又说第几行有问题的
----
难道是编译环境有问题...
我这里运行都正常...
不知道拉
❻ 请问怎么在Mac终端使用gcc
是否有安装command tool line呢?安装之后可以直接使用gcc来编译了。。
另外建议使用clang编译,这个使用的是llvm架构,编译速度比gcc快非常多,你网络网络就知道之间的差距了。。
❼ mac的终端有自带gcc编译器吗 我用vi编的helloworld不能编译, 再和我说说怎么运行吧。。。
mac本身不自带GCC,如果你想折腾可以直接下GCC的源码包自己编译
你也可以直接安装xcode,装完之后就有gcc了
❽ 求教,mac自带gcc编译器吗
macOS自带了C编译器,但是并不是GCC(GNU C Compiler),而是Apple LLVM。然而这并不影响你在终端里输入gcc使用它,因为gcc、cc、clang等几个alias指向的都是这个编译器。
❾ 如何在 Mac OS X 下编译,安装 gcc
有一个叫xcode的软件这个软件可以实现c语言编程,这是一个苹果原生的程序,是为苹果程序的开发人员编写的,但是我们也可以用。下载地址在威锋论坛上应该是有的,安装之后在你电脑的macintosh
hd里面的developer里面的applications里面就会看到这个图标了点开之后选择creat
a
new
xcode后会有4个图标出现选择最后一个command
line
tool并在下面的type
中选择c,在点击choose就会进入编译界面进入之后,会有3个小的file
name选择main.c这个,在下面的编译框中就会出现hello
world的编译事例,把这个事例删了,编自己的程序就ok。编完了,请按build
and
run按钮,如果出现是否保存的对话框,就点是,这是对你的编程进行一个保存。最后按住command+shift+R这三个键就可以看到运行结果了,如果不能运行,就是程序有错呗!
❿ mac下的gcc如何使用。。
gcc常用命令行
gcc/g++在执行编译工作的时候,总共需要以下几步:
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
3.由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
/**********GCC能够处理的后缀有:**********/
a. *.c *.C (C语言)
b. *.cxx *.cc (C++语言)
c. *.m (面向对象的C)
d. *.i (预处理后的C语言源文件)
e. *.ii (预处理后的C++语言源文件)
f. *.s *.S (汇编语言)
h. *.h (头文件)
/**********目标文件可以是:**********/
a. *.o 编译连接后的目标文件
b. *.a 库文件
-o FILE 指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.
-c 只编译不链接
-IDIRNAME 将DIRNAME加入到头文件的搜索目录列表中
-LDIRNAME 将DIRNAME加入到库文件的搜索目录列表中,缺省情况下gcc 只链接共享库
-lFOO 链接名为libFOO的函数库
-O 优化编译过的代码
-ON 指定代码优化的级别为N,o<=N<=3
-v 显示在编译过程的每一步中用到的命令
-x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,
如果你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,
除非到了下一个参数的使用。例 gcc -x c hello.pig
-x none filename 关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
例:gcc -x c hello.pig -x none hello2.c
-c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
例:gcc -c hello.c 他将生成.o的obj文件
-o 制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它!
例子用法
gcc -o hello.exe hello.c (哦,windows用习惯了)
gcc -o hello.asm -S hello.c
-Idir 在你是用#include”file”的时候,gcc/g++会先在当前目录查找你所制定的头文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,
他回先在你所制定的目录查找,然后再按常规的顺序去找.对#include,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找
-I- 就是取消前一个参数的功能,所以一般在-Idir之后使用
-idirafter dir 在-I的目录里面查找失败,讲到这个目录里面查找.
-iprefix prefix
-iwithprefix dir 一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
-nostdinc 使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置
-nostdin C++ 规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库使用
-C 在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的
-M 生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c来测试一下。
-MM 和上面的那个一样,但是它将忽略由#include造成的依赖关系。
-MD 和-M相同,但是输出将导入到.d的文件里面
-MMD 和-MM相同,但是输出将导入到.d的文件里面
-Wa,option 此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序
-Wl.option 此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.
-llibrary 制定编译的时候使用的库
例子用法 gcc -lcurses hello.c 使用curses库编译程序
-Ldir 制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然编译器将只在标准库的目录找。这个dir就是目录的名称。
-O0 -O1 -O2 -O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-g 只是编译器,在编译的时候,产生调试信息。
-gstabs 此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
-gstabs+ 此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
-ggdb 此选项将尽可能的生成gdb的可以使用的调试信息.
-static 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行.
-share 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统有动态库.
-traditional 试图让编译器支持传统的C语言特性