您的位置:首页 > 编程语言 > C语言/C++

win和liunx下命令行编译c++程序

2013-12-16 19:44 218 查看
Windows系统下编译连接源代码方法:
cl -GX test.c
-GX: 启动同步异常处理
上面的命令会产生可执行程序:test.exe
在命令行中直接输入:test.exe 就可运行该程序
在dos下:cl hello.cpp
I.提示错误:无法启动此程序,因为计算机丢失mspdb100.dll。原来那个dll在这儿 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\。解决办法: 1.将.dll所在路径加入到path中 2.将.dll复制到 C:windows\system32\ 中 3.将.dll复制到C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 中 II.接着又出现了一个问题:LINK: fatal erro LNK1104: cannot open file 'LIBCMT.lib' 搜了一下有好几个地方有,不过添加了一个地方的后没问题了
单击我的电脑->属性->高级->环境变量->新建用户变量(也可以添加系统变量).(变量名称大小写忽略.有些变量可能此前有设置过,这些值均是在之前的基础上添加的,切记!!!)
NCLUDE=D:\Microsoft Visual Studio 8\VC\include;
LIB=D:\Microsoft Visual Studio 8\VC\lib;
PATH=D:\Microsoft Visual Studio 8\VC\bin;D:\Microsoft Visual Studio III.只是又出现了一个问题,呵呵,一个接一个,就要放弃的时候,忍不住又百度了一下(我也想google啊,GFW太可恶了,hk有时候也上不去啊啊啊啊。。。):LINK: fatal erro LNK1104: cannot open file 'kernel132.lib' 在C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib 找见这个东西添加到环境变量lib下 注:若在添加环境变量之前已经启动了命令行,此时使用CL命令失败,仍提示不是命令,解决方法是退出命令行模式重新启动命令行即可。 Linux系统下编译连接源代码的方法:
gcc -g -c test.c -o test    只生成目标文件(.obj文件),没有生成可执行文件(也就是说test是.obj文件)
gcc -g test.c -o test        生成可执行文件(可以通过./test运行程序)
-g:生成调试信息。GNU 调试器可利用该信息。
-c:只编译并生成目标文件。(没有中间文件生成和可执行文件,如列表文件、可执行文件)
-o:设置生成的可执行程序的名字为test
上面的命令会产生可执行程序:test
在Terminal中输入:./test 就可以运行该程序了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: