1. 程式人生 > >#include

#include

在上一篇文章中寫了一個簡單的Makefile,應付一個c檔案足夠了,但用於編譯更多的例項時發現擴充套件性並不好。於是參考了書對應原始碼的Makefile寫法,做了小小的升級,升級後的Makefile長成這樣:

#變數定義,變數的引用以$(variable)的形式
ROOT=/usr/local/lib/apue.3e
CC=gcc
CFLAGS=-Wall
LIBAPUE=$(ROOT)/lib/libapue.a
INCLUDE=$(ROOT)/include
PROJS=myls mycp

all:$(PROJS)

#對於我這樣的初學者,下面有兩個地方是不容易明白的:
#1. Makefile中的萬用字元用%表示。以%作為target的含義是目標名稱不在Makefile中但又不是空的情況。如果為空,則會預設執行第一個target。
#2. 
[email protected]
表示目標名稱,所以下面的語句中,如果%=myls,則[email protected]=myls %: %.c $(INCLUDE) $(CC) [email protected] -I $(INCLUDE) $(LIBAPUE) -o [email protected] clean: rm -rf *.o myls *.out

需要注意的事項寫在註釋裡了,頓時感覺到了Makefile設計的牛逼之處。

相關推薦

#include<dummy.h>

在上一篇文章中寫了一個簡單的Makefile,應付一個c檔案足夠了,但用於編譯更多的例項時發現擴充套件性並不好。於是參考了書對應原始碼的Makefile寫法,做了小小的升級,升級後的Makefile長成這樣: #變數定義,變數的引用以$(variable)的形式 ROOT

catkin_make時報錯找不到custom include custom.h

folder fatal pre efi minimum 沒有 head post reat 參考:https://answers.ros.org/question/195467/catkin-unable-to-include-custom-libraries/報錯內容:

用 #include “filename.h” 格式來引用非標準庫的頭文件

std 函數 ons name return console program 默認值 nbsp 用 #include “filename.h” 格式來引用非標準庫的頭文件(編譯器將 從用戶的工作目錄開始搜索) 1 #include <iostream> 2

Qt問題記錄之cannot include corecrt.h

之前一直使用mingw版Qt進行專案開發,後面由於引入第三方庫,在Qt Creator中一直無法呼叫,懷疑是編譯器不同造成的,所以最終切換MSVC版本的Qt進行開發,但是,在MSVC版本的Qt沒有偵錯程式,於是乎又在微軟的官網上下載WinDbg偵錯程式進行安裝,安裝後發現使用Qt編譯出現

安裝 SASS 失敗,提示‘mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h

錯誤提示 [[email protected] ~]# sudo su -c "gem install sass" Building native extensions. This could take a while... ERROR: Error installin

include tchar h 是什麼意思

                因為VS裡的很多字元編碼都是採用unicode來編碼的,為了相容字符集。微軟開發了tchar包,tchar 在unicode下是wchar(雙字元),而普通是char。 因為C++支援兩種字串,即常規的ANSI編碼和Unicode編碼,這樣對應的就有了兩套字串字串處理函式,比如

異常/usr/bin/install: cannot create regular file `/usr/local/jpeg6/include/jconfig.h'

     出現下列異常:  /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h /usr/bin/install: cannot create regular file `/

VS2008編譯錯誤:error C2065: 'PMIB_TCPSTATS' : undeclared identifier c:\program files (x86)\microsoft sdks\windows\v7.0a\include\iphlpapi.h 411

  安裝了VS2008編譯之前的程式,結果出現了編譯錯誤,以為是VS2008的Sp1補丁沒裝好,重灌補丁後還是不行,編譯錯誤如下:      雙擊錯誤會定位在iphlpapi.h中,   一個可行的解決辦法是:把iphlpapi.h檔案的line386---line421 都註釋掉了:      然

xilinx SDK #include "xgpio.h" error

-1. find the xilinx installation directory, eg: D:\Xilinx\SDK\2016.4\data\embeddedsw\Xilinx

Linux基本資料型別大小——int,char,long int,long long int(/usr/include/limit.h檔案對Linux下資料型別的限制及儲存位元組大小的說明)

 /* We don't have #include_next.   Define ANSI <limits.h> for standard 32-bit words.  */     /* These assume 8-bit 'char's, 16-bit 'short int's,   an

錯誤 1 error C1010: 在查詢預編譯頭時遇到意外的檔案結尾。是否忘記了向源中新增“#include "stdafx.h"”?

問題如下 解決步驟: 1、右鍵點選該檔案 2、選擇“屬性”,彈出如下介面 3、按照上圖箭頭所示的順序,依次選擇“C/C++”—-“預編譯頭”—-“不使用預編譯頭” 4、最後點右下角

#include time.h和 #include sys/time.h的區別

交叉編譯情況下,兩個檔案的地址 /opt/gcc-4.1.2-glibc-2.4/arm-xscale-linux-gnu/arm-xscale-linux-gnu/include/time.h /opt/gcc-4.1.2-glibc-2.4/arm-xscale-linux-gnu/arm-xscale

C/C++—— #include“stdafx.h”詳解

再選【下一步】-預設情況下,我們都是在【空專案】前打上對勾,建立一個純的C或C++程式。 我們這裡選擇預設,即【預編譯頭】前打上對勾,之後【完成】 2,在Test專案中,標頭檔案有stdafx.h和targetver.h,原始檔有stdafx.cpp和T

#include”* .h“ 在查找預編譯頭使用時跳過

ios warning 跳過 ima stream bsp 分享 strong ges warning C4627: “#include <windows.h>”: 在查找預編譯頭使用時跳過 解決辦法: 原因是沒有在cpp文件

python2安裝Flask-MySQLdb出現 fatal error C1083: Cannot open include file: 'mysql.h': No su ch file or directory

cto soft inf programs -m .whl 分享圖片 admin can 錯誤具體內容如下: _mysql.c(29) : fatal error C1083: Cannot open include file: ‘mysql.h‘: No such

linux中#include <sys/stat.h>的位置

post gcc 分享 sta clas x86_64 pos linu 但是 linux中的gcc編譯器默認是從 "cd /usr/include/" 中查找頭文件的,但是在該目錄下並沒有發現sys子目錄。那麽這個sys到底對應於系統的哪個目錄?經過一番查找,我發現#in

[Js-C++].h文件與#include詳解

diff dep poi nta obj ssi always *** function ******************************************************* 4) The "right way" to include ******

初入 OpenGL ---白屏問題 -- glad.c在查找預編譯頭遇到意外的文件結尾,是否忘記向源中添加#include "stdafx.h" ?

setw 檢查 wid event buffers cout stream swap turn 學習地址:https://learnopengl-cn.github.io 學習成果: 前言: 跟著教程走,用VS2017 配置完了OpenGL的運行.

ROS錯誤:/opt/ros/indigo/include/ros/parameter_adapter.h

錯誤訊息為: In file included from /opt/ros/indigo/include/ros/subscription_callback_helper.h:35:0, from /opt/ros/indigo/include/ros/subscriber.h:33

C++---使用VS在C++程式設計中出現 fatal error C1010: 在查詢預編譯頭時遇到意外的檔案結尾。是否忘記了向源中新增“#include "stdafx.h"”?

啦啦啦,好久沒寫部落格啦... 對於C++初學者來說適應一個新的編譯器還是需要蠻長一段時間的,現在我就給你們說說標題所說的這個問題吧... 第一步:選單--〉專案--〉設定,出現“專案設定”對話方塊,左邊展開專案,在“原始檔”中找到出錯的檔案。 第二步:在右邊選擇“C/C++”屬性頁,在Category