linux下编译cpp文件出错

[root@localhost dss]# gcc -o abc abc.cpp
/tmp/ccY3hmyr.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
[root@localhost dss]# gcc -o abc abc.cpp -lstdc++

有两种讲法:

1. Linux Develop Notes

    * 编译 c++ 程序需要添加 -lstdc++ option. sample: gcc -lstdc++ -o test test
.c,否则会报 "undefined reference to '__gxx_personality_v0' " 错误

2. 唉,用gcc命令编译C程序,用g++命令编译C++程序。

下面是abc.cpp的内容,代码确定无误.

#include <stdio.h>
#include <stdlib.h>
#include <sys/resource.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
        struct rlimit rl;

        getrlimit(RLIMIT_NOFILE, &rl);
        printf("current open file limit = %1u\n", (long unsigned) rl.rlim_cur);
        printf("current open file max = %1u\n", (long unsigned) rl.rlim_max);
        rl.rlim_cur = RLIM_INFINITY;
        rl.rlim_max = RLIM_INFINITY;
        setrlimit(RLIMIT_NOFILE, &rl);
        printf("current open file limit = %1u\n", (long unsigned) rl.rlim_cur);
        printf("current open file max = %1u\n", (long unsigned) rl.rlim_max);
}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiek/archive/2006/02/09/595400.aspx


类别:Linux 查看评论
原文地址:https://www.cnblogs.com/dorothychai/p/2268089.html