Linux下基本编译汇总
零一2035
为自己加油!!
展开
-
ssl/tls 自签证书
***************************************************************************************** 客户端证书*************************************************************************************************步骤四:服务器证书请求文件。步骤六:查看服务器证书信息。步骤三:客户端证书请求文件。步骤一:服务器ca证书。原创 2022-11-02 10:42:36 · 850 阅读 · 0 评论 -
【库连接问题】makefile中如何连接库以及解决/usr/bin/ld: skipping incompatible问题
关于如何连接库,这里只记录自己碰到的一些问题编写Makefile编译时 -c 生成.o 文件:后面要加-I (指明包含的头文件)链接时 -o 生成可执行文件:-L(指明库的位置) -l(指明库的名字)还有一个是在引用json库的问题:lib文件下有两个文件夹 include和 lib文件夹include 文件夹中有一个文件夹json,里面又包含着json的头文件lib文件中放着libjson.a的静态库编写makefile时 注意,编译时 引入头文件目录到include 就行...转载 2021-03-31 20:39:58 · 1261 阅读 · 0 评论 -
git 项目管理常用指令
从现在起,只要本地作了提交,就可以通过命令:$ git push origin mastergit push origin rel_1.3.1_mxchip从现在起,下拉最新版本,就可以通过命令git pull origin rel_1.3.1_mxchip查看分支git branch切换分支git checkout mico-os-3.5跟新到指定版本g...原创 2018-09-10 09:00:55 · 246 阅读 · 0 评论 -
make VERBOSE=1
编译选项VERBOSE=1 可以是打印信息更加详细,方面查找问题原创 2017-10-31 16:27:04 · 14783 阅读 · 0 评论 -
makefile 编程一
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一转载 2017-09-27 13:27:55 · 149 阅读 · 0 评论 -
使用gdb 查找运行的segmentation fault(core dumped)
main.c文件#include void test(){ int *ptr=NULL; *ptr=10;}int main(int argc,char** argv){ test(); return 0;}编译:gcc main.c生成:./a.out这原创 2017-07-17 14:49:59 · 880 阅读 · 0 评论 -
获取系统架构及位数及NDK自制交叉编译器
zienon@zienon-virtual-machine:bin$ archx86_64zienon@zienon-virtual-machine:bin$ uname -aLinux zienon-virtual-machine 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014x原创 2017-08-11 13:22:55 · 330 阅读 · 0 评论 -
NDK自带gdb夸平台调试
GDBServer位置在:/opt/android-ndk-r9d/prebuilt/android-arm/gdbserver/gdbserverGDB的位置在:/opt/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androi转载 2017-08-15 13:45:14 · 1054 阅读 · 0 评论 -
./a.out: error while loading shared libraries: libfsdk.so: cannot open shared object file: No such f
方法一:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./链接动态库的相对路径弊端:临时性的,关闭终端必须重新运行上面语句方法二: cd /etc/ld.so.conf.d/su提示输入密码echo "连接动态库的绝对路径" >文件名随意.confldconfig修改完以后一直有效方法三:cd原创 2017-07-28 10:21:04 · 389 阅读 · 0 评论 -
Linux下升级gcc、gdb工具
1.下载gcc最新的源码包 wget http://gcc.skazkaforyou.com/releases/gcc-4.9.1/gcc-4.9.1.tar.gz2.解压缩 tar -xf gcc-4.9.1.tar.gz3. cd gcc-4.9.14.运行download_prerequisites脚本, ./contrib/download_prereq转载 2017-08-10 14:24:44 · 1043 阅读 · 0 评论 -
CMake入门编程(1)
1.CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:1. cmak转载 2017-05-19 18:29:22 · 391 阅读 · 0 评论 -
linux下gcc-编译多个文件为静态库
#ifndef _HEAD_H_#define _HEAD_H_void test1();void test2();void test3();#endif #includevoid test1(){printf("test1\n");}#include原创 2017-04-21 16:05:15 · 1551 阅读 · 0 评论 -
Linux下gcc-编译多个文件为动态库
#ifndef _HEAD_H_#define _HEAD_H_void test1();void test2();void test3();#endif #includevoid test1(){printf("test1\n");}#include原创 2017-04-21 15:55:23 · 2720 阅读 · 0 评论 -
linux下gcc-多文件编译
#ifndef _HEAD_H_#define _HEAD_H_void test1();void test2();void test3();#endif #includevoid test1(){printf("test1\n");}#includevoid test1(){printf("tes原创 2017-04-21 15:45:02 · 486 阅读 · 0 评论 -
linux下gcc-调用静态库
#include void test(){printf("this is a test\n");}//编译静态库gcc -c test.car -r libtest.a test.o#include void main(){printf("start:\n");test();}//编译执行文件gcc mai原创 2017-04-21 15:18:44 · 640 阅读 · 0 评论 -
linux下gcc-编译静态库
#include void test(){printf("this is a test\n");}//编译静态库gcc -c test.c // 会生成一个test.oar -r libtest.a test.o原创 2017-04-21 15:12:35 · 304 阅读 · 0 评论 -
linux下gcc-调用动态库
#include void test(){printf("this is a test\n");}//编译生成动态库gcc -fPIC -shared test.c -o libtest.so #include //编写一个调用动态库的函数void main(){printf("start:\n");test();原创 2017-04-21 15:03:03 · 273 阅读 · 0 评论 -
Linux下gcc-编译动态库
例如:test.c文件内容如下#include void test(){printf("this is a test\n");}gcc -fPIC -shared test.c -o libtest.so原创 2017-04-21 14:54:02 · 274 阅读 · 0 评论