GNU MAKE 笔记

最近在调试OJ, 忙了4天多, 最后的问题是judge模块不能正常工作.
judge 模块就是两个C++源文件, 它的工作是

  1. 从数据库获取用户提交的源码
  2. 测评
  3. 将测评结果写到数据库

测评部分是与数据库无关的, 我遇到的问题是C++和数据库无法建立连接.
这个问题根源于我用的是LAMPP的集成版, 而文档里是分别安装Apace, MySQL, 和PHP的.
这两种方式下, 某些库文件, 比如mysql.hlibmysqlclient.so, 的位置是不同的, 因而需要调整的有

  1. 源码
  2. makefile文件

我对下列两大块内容都很不熟悉, 导致调试过程进展很慢

  1. Linux的文件系统, CLI基础
  2. build 源码的过程

暑假做OpenCV人脸识别项目时, 就发现这两个问题, 但事后没有仔细研究 (太懒). 下面要努力学习这些知识

这篇随笔开个头, 搜集一些关于 Make 的知识.


(以下内容参考 GNU Make Manual)
(GNU Make is a version of Make)

GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.

Make gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to compute it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.

In a program, typically, the executable file is updated from object files, which are in turn made by compiling source files.

原文地址:https://www.cnblogs.com/Patt/p/6021415.html