1. 程式人生 > >gcc -l引數和-L引數(編譯時標頭檔案路徑和庫檔案路徑的設定相關)

gcc -l引數和-L引數(編譯時標頭檔案路徑和庫檔案路徑的設定相關)

放在/lib/usr/lib/usr/local/lib裡的庫直接用-l引數就能連結了,但如果庫檔案沒放在這三個目錄裡,而是放在其他目錄裡,這時我們只用-l引數的話,連結還是會出錯,出錯資訊大概是:“/usr/bin/ld: cannot find -lxxx”,也就是連結程式ld在那3個目錄裡找不到libxxx.so,這時另外一個引數-L就派上用場了,比如常用的X11的庫,它在/usr/X11R6/lib目錄下,我們編譯時就要用-L/usr/X11R6/lib -lX11引數,-L引數跟著的是庫檔案所在的目錄名。再比如我們把libtest.so放在/aaa/bbb/ccc目錄下,那連結引數就是-L/aaa/bbb/ccc -ltest

相關推薦

gcc -l引數-L引數(編譯檔案路徑檔案路徑設定相關)

放在/lib和/usr/lib和/usr/local/lib裡的庫直接用-l引數就能連結了,但如果庫檔案沒放在這三個目錄裡,而是放在其他目錄裡,這時我們只用-l引數的話,連結還是會出錯,出錯資訊大概是:“/usr/bin/ld: cannot find -lxxx”,也就是連結程式ld在那3個目錄裡找不到l

linux-gcc 編譯檔案檔案搜尋路徑

一、標頭檔案    gcc 在編譯時尋找所需要的標頭檔案 :    ※搜尋會從-I開始    ※然後找gcc的環境變數 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH    ※再找內定目錄 /usr/include  /usr/local/incl

ubuntu64位系統編譯檔案找不到的問題

今天編譯webrtc時出現以下錯誤: ninja -C out/Debug All ninja: Entering directory `out/Debug' [1/6] CXX obj/talk/app/webrtc/java/jni...peerconnection_s

gcc編譯連結檔案檔案的搜尋順序

編譯:找符號定義 連結:找實現 執行:執行 靜態庫連結時直接寫程序序裡了 動態庫連結時只連結到了一些地址資訊,需要到執行時再進行動態載入 編譯時搜尋標頭檔案的順序: 1.  gcc先找-I設定的路徑 2.  再找gcc的環境變數C_INCLUDE_PATH, CPLU

commonJs的運行加載es6的編譯加載

bsp log www. nbsp .com targe logs 編譯 mon 參考 : https://www.cnblogs.com/jerrypig/p/8145206.html 1、commonJs的運行時加載 2、ES6編譯時加載commonJs的運行

嵌入式編譯 ld: cannot find -lxxx ld:skipping incompatible

編譯原始碼時報錯: /opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr/bin/../lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/bin/ld:

Linux中C/C++編譯新增檔案路徑方式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

如何解決Visual Studio2010 編譯提示系統找不到指定檔案問題

1、解決辦法如下: 2、選擇配置屬性-->清單工具-->輸入和輸出-->嵌入清單-->否   這種方式比較麻煩的是,每建立一個工程時都要修改。 方法二(永久解決)(個人親測可行,不代表通用): 在我的電腦搜尋cvtres.exe

QT編譯出現 : warning LNK4098: 預設“msvcrtd.lib”與其他的使用衝突;請使用 /NODEFAULTLIB:library

1.問題復現:      本人公司使用的是qt5.3 + vs2015開發,但是家裡電腦使用的是qt5.2 + vs2010進行開發。每次在公司寫好部分功能,想拿到家繼續開發時,專案編譯出現下列問題:      1)msvcrtd.lib(ti_inst.obj) : e

git找回本地被覆蓋或者刪除的檔案/確保原生代碼為最新,強制使本地檔案覆蓋git檔案

操作前提(老手可略過不看): 1、進入程式碼本地根目錄下(也就是當初你提交到git庫上的路徑,特點是此目錄下帶.git資料夾) 2、在空白處點選右鍵 選擇Git Bash Here進入git控制檯 一、git找回本底被覆蓋或者刪除的檔案 git reflog命令可以檢視操作

Spring 2 0 8 2 5 applicationContext xml 檔案寫法 Spring啟動異常

                2.0.8<?xml version="1.0" encoding="utf-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dt

Microsoft Visual Studio下編譯缺少檔案unistd.h解決辦法

許多在Linux下開發的C程式都需要標頭檔案unistd.h,但VC中沒有個標頭檔案, 所以用VC編譯總是報錯。把下面的內容儲存為unistd.h,可以解決這個問題。 /** This file

g++來進行編譯檔案路徑問題

Linux中用 g++ 來對 .cpp檔案進行編譯的時候,當頭檔案不在系統預設的 /usr/local/include/ 中時,需要為其指定路徑。有如下幾種方法。 方法1、在進行編譯時用 -l 選項來指定路徑: # /path/to/eigen/ 為eigen標頭檔案的路徑所在。

linux其他交叉編譯器的檔案搜尋路徑!@

Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/shar

Linux 原始碼編譯缺少檔案問題

以Ubuntu和CentOS為例 一、Ubuntu 例如,缺少 X11/extensions/XTest.h, $ sudo apt-get install apt-file $ sudo apt-file update $ apt-file search "X11/ex

C++中的檔案原始檔:如何寫檔案

通常,在一個C++程式中,只包含兩類檔案——.cpp檔案和.h檔案。其中,.cpp檔案被稱作C++原始檔,裡面放的都是C++的原始碼;而.h檔案則被稱作C++標頭檔案,裡面放的也是C++的原始碼。 C+ +語言支援“分別編譯”(separate compilation)。也就是說,一個程式所有的內容,可以分成

條件編譯檔案,靜態,共享與多檔案程式設計

本文轉自嵌入式Linux中文站 條件編譯 條件編譯即滿足某些條件的時候編譯某部分程式碼,常用於開發多個版本的程式,當滿足條件A時,編譯出免費版本的軟體,當滿足條件B時,編譯除vip版本的軟體,可以提高程式碼的複用率。條件編譯使用"預處理命令+巨集定義"來實現,更多巨集

NDK獨立編譯出現檔案找不到的情況

下載了一個最新版的NDK,打算使用編寫makefile的方式來編譯出so庫,照著網上的教程寫了makefile,卻發現提示找不到標頭檔案,原因是因為新版本的NDK不包含include資料夾(就是不存在platforms\android-api版本號\arch-a

交叉編譯引數 -I -L -l 詳解

這裡不管是你用gcc還是用arm-linux-gcc都是實用的。 當你下載一些freetype,libjpeg。你得先.configure,make make install  這裡我主要講一下一些引

linux-gcc 編譯文件文件搜索路徑

con 行程 efi lib local 先後 objc 路徑 oot 一、頭文件 gcc 在編譯時尋找所需要的頭文件 : ※搜尋會從-I開始 ※然後找gcc的環境變量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH