g++编译cpp文件

gdb调试c程序打不到断点的原因可能是编译c文件的时候没有加-g选项,-g选项是编译加debug信息的,不加是打不到断点的

g++编译cpp文件

g++ -g -c *.cpp       编译

g++ -g -o exec *.o   链接

g++ *.cpp -o exec

g++编译生成.a 静态库文件,.so为动态库

gcc *.cpp -lcp-demangle -o exec

选项 -l (ell) 通过添加前缀 lib 和后缀 .a 将跟随它的名字变换为库的名字 libcp-demangle.a。而后它在标准库路径中查找该库。gcc 的编译过程和输出文件与 g++ 是完全相同的。

时间: 2024-08-10 16:58:44

g++编译cpp文件的相关文章

使用CL命令编译cpp文件

缘起,我的vs 2003无法新建工程,又不喜欢用vs 2013那样的重量级开发工具(就写两行代码,测试测试一些基本的语法规则或算法). 想来vs应该可以像GCC或G++那样直接用命令行编译Cpp文件,那样就省得我那么麻烦了. 我的步骤是这样的: 1. 打开Visual Studio .NET 2003 命令提示 进入cmd界面 2. cd  D:\proj2003\pureCode切换到cpp所在目录 D:\proj2003\pureCode>cl calcsize.cpp 3. 这样就会在当前

CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法

在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc++]就可解决 例: gcc -lstdc++ a.cpp 参考自http://mlq.blog78.fc2.com/?mode=m&no=14 CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]

linux下使用g++编译cpp工程

C++编程中相关文件后缀 1.单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 1 /* helloworld.cpp */ 2 #include <iostream> 3 int main(int argc,char *argv[]) 4 { 5 std::cout << "hello, world" << std::endl; 6 return(0); 7 } 程序使用定义在头文件

linux g++编译dxf文件C++解析库dxflib

DXFLIB是一个用于读取和写入AutoCAD(R)DXF文件的开源C++库.它提供读取和写入许多基本实体的功能,以及有关层和块的信息.来自QCAD的作者.最新版本下载地址:https://www.ribbonsoft.com/en/dxflib-downloads旧版本下载:https://sourceforge.net/projects/dxflib/使用手册:http://www.ribbonsoft.com/dxflib/manual.pdf中文翻译:https://www.xuebuy

g++ 编译c文件

//编译c文件为.o文件 g++ -c virify.c //打包.o文件为.a静态库文件 ar crv libandroid_um36_virify.a virify.o //将静态库.a文件编译进.c文件,同时编译用到的ssl库函数 g++ main.c libandroid_um36_virify.a -lssl -lcrypto -o main

g++编译总结

g++编译总结 一.编译注意细节 1.使用g++编译CPP文件如果用gcc编译C++源文件时,加以下选项:-lstdc++,否则使用了C++操作的文件编译会出错. 2.gcc/g++ 在执行编译时,需要4步 ①   预处理,生成.i的文件[使用-E参数] ②   将预处理后的文件不转换成汇编语言,生成文件.s[使用-S参数] ③   有汇编变为目标代码(机器代码)生成.o的文件[使用-c参数] ④   连接目标代码,生成可执行程序[使用-o参数] 二.gdb调试 1.gdb的调试命令列表. 命令

g++编译多个文件

注意:头文件不用去指定,其是由#include命令进行管理的,只需要编译cpp文件就可以了: 举例: 有以下三个文件: a.h a.cpp main.cpp 那么编译可以有以下两种方式: 1.分开编译: g++ -c a.cpp g++ -c mian.cpp g++ a.o main.o -o test.out 然后执行./test.out即可 2.一起编译: g++ -o test.o a.cpp main.cpp

cl.exe命令方式编译cpp

直接在命令行窗口调用cl编译cpp文件 往往不能通过. 主要原因是一些头文件及可执行文件未在环境变量中设置.可以通过执行VSVAR32.BAT批处理文件来设置环境变量,注意vs2005跟2008的放置位置可能不同,如果不在cl.exe当前路径下,可以去/Common7/Tools目录下寻找. 批处理文件中主要是set命令临时配置的环境变量,所以开机之后需要重新运行该bat文件才能执行cl命令. 另附cl命令使用说明 CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32

Matlab中编译C++文件

今天在跑<Robust Object Tracking via Sparsity-based Collaborative Model>这篇文章的代码时候,发现出现如下错误: 发现错误时由于vgg_kmiter这个c类型的函数引起的,于是百度查看先关知识,原来是没有编译vgg_kmiter引起的错误,并且在此指出:由于高matlab版本不再支持mxCreateScalarDouble,而被变为mxCreateDoubleScalar,因而要把所有的cpp源文件中出现mxCreateScalarD