linux环境下编译C++文件

最近需要将代码上传到github,顺便使得代码要在ubuntu上能够编译运行。稍微学习了一下ubuntu环境下的C++文件编译方式。

单个源文件生成可执行程序

//随便写个简单的程序:
    /*test.cpp*/
#include <iostream>
int main(int argc,char *argv[])
{
    std::cout << "hello, world" << std::endl;
    return(0);
}

可以直接g++ test.cpp编译, * 编译器默认的动作:* 编译源代码文件生成对象文件(object file),链接对象文件和 libstd c++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行:./a.out

但是一般做法会指定输出名,如下:
g++ test.cpp -o test

多个源文件生成可执行文件:

其实现在的编译器都很聪明,你只需要将所有工程用到的.cpp和.h文件放到同一个文件目录下面,然后g++ *.cpp -o test 就可以编译成可执行文件。

note:需要注意的是,如果工程里面用到的方法是标准库里没有的,那么则需要重写这个方法。比如,我使用VS 2012建立的工程里面strlwr方法在标准库里面没有,则使用linux编译的时候会报没有定义的错误。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务