link源碼編譯
bak是易語言備份文件,把bak後綴改成e就可以用易語言打開,
易語言下載:http://180.97.83.171:443/down/-347461879/Easy.language.5.11.rar?cts=&ctp=14A145A240A157&ctt=1435130085&limit=3&spd=5000000&ctk=&chk=-347461879
⑵ c++ 編譯 鏈接是怎麼回事
compile和link是大多數語言從原代碼生成可執行程序的兩個步驟。
之所有有這兩個步驟因為幾乎任何一個程序都不是用一個原文件寫出來的。compile是先針對單獨原文件進行處理。link是把compile處理的結果組合成一個完整的可執行文件。
其實C/C++完全也可以一步成型,不需要compile和link兩個步驟,但是那樣的後果就是:一,每次生成可執行程序,必須翻譯全部源代碼;二,C語言的執行庫(printf, scanf這些)必須都以源代碼形式存在。這怎麼樣也說不過去吧。
另外頭文件不屬於compile和link過程,頭文件是預編譯過程的文件。
C/C++語言的完整編譯過程是
一、預編譯
處理#define #if #include這類#開頭的語句,這些稱為預編譯指令。這個過程中會把.h文件和.c/.cpp文件組合成最終交給compile過程的原文件。這個原文件是不包含任何#開頭的語句的。所有#define定義的宏也會被替換。
二、編譯
把上面那個原文件編譯成.o或者VC里是.obj文件。這個文件保存了機器碼化的函數、函數的描述、全局變數的描述、乃至段的描述等等。
三、連接
把可執行程序需要的所有的編譯過程產生的.o或者.obj文件組合到一起。(這里也包括.lib文件,.lib文件件本質上就是打包的.obj文件集合)。另外連接過程還會組合一些其他數據,比如資源、可執行文件頭等等。
⑶ 如何使用busybox編譯和生成最簡lin
在ubuntu系統下創建一個rootfs目錄,用於存放busybox生成的根文件系統,也可設置為nfs的掛載目錄,直接通過網路文件系統進行掛載,便於開發。我自己就將該目錄創建在/opt/FriendlyARM/mini2440/rootfs處。並在該目錄下創建一些必備的子目錄:
leon@Ubuntu:/opt/FriendlyARM/mini2440/rootfs$ mkdir bin dev etc proc sbin sys tmp usr leon@Ubuntu:/opt/FriendlyARM/mini2440/rootfs$ ls bin dev etc proc sbin sys tmp usr
1、修改Makefile配置
進入busybox目錄,修改Makefile文件,在文件頭處加入內容如下:
ARCH ?= arm CROSS_COMPILE ?= arm-linux-
2、修改配置文件
make menuconfig
選擇Busybox Settings—>
1、Build Options—>,選擇[*] Build Busybox as a static binary(no shared libs); 2、Installtion Options,在busybox instantlltionprefix一欄中,輸入你想要創建rootfs的目錄。比如我的是/opt/FriendlyARM/mini2440/rootfs。
保存,退出。
3、編譯源碼
輸入make,進行編譯;這其中估計會遇到一些錯誤,可參見我的另外一篇博客(linux(ubuntu)編譯busybox遇到的問題處理辦法)。編譯成功後,會給出以下提示:
LINK busybox_unstripped Static linking against glibc, can't use --gc-sections Trying libraries: crypt m Library crypt is not needed, excluding it Library m is needed, can't exclude it (yet) Final link with: m DOC busybox.pod DOC BusyBox.txt DOC busybox.1 DOC BusyBox.html
編譯通過之後,輸入make install命令進行安裝,busybox會自動將rootfs根文件系統安裝到之前設置的目錄下。
⑷ 易語言靜態編譯修改,為什麼下載的VC98linker里link.e文件,打開是筆記本怎麼解決謝謝
自己打開易語言安裝目錄 e\tools 下的link.ini 文件
修改裡面的linker項 把前面的分號去掉 後面改為你限制的鏈接器文件地址
linker="你文件地址VC98linker\Bin\link.exe"
你e源碼顯示為記事本文件是你的文件關聯有問題了 設置一下關聯文件吧
⑸ 找到易語言里的VC98linker文件夾,裡面有個link.e 的源碼,打開之後試運行就會有個標題
就是這么實現啊,你都貼上來了,你打開這個link.e然後運行,點擊修改就行了
⑹ Linux編譯link時提示undefined reference』dlclose』怎麼辦
在Linux系統下編譯link時出現了錯誤,提示「undefined
reference』dlclose@xxx函數」錯誤,相信不少用戶也遇到這個問題,這個問題不難解決,下面小編給大家介紹下undefined
reference錯誤的解決方法。
編譯完link的時候,報了一句undefined
reference』dlclose@xxx函數『,找主程過來看了下,說是dl庫沒有包進去,查了下dl庫是用來做動態庫載入的(dynamic
load),項目用到了libmysqld.so,加了之後還是有問題,將-ldl鏈接選項改到最後才可以。
比較常見的undefined
reference問題:
1.dl庫
undefined
reference
to
『dlerror』
undefined
reference
to
『dlopen』
undefined
reference
to
『dlerror』
增加-ldl鏈接選項
(-l是鏈接選項的前綴)
2.pthread庫
undefined
reference
to
『pthread_create』
undefined
reference
to
『pthread_xxxx『
增加-lpthread鏈接選項
3.rt庫
undefined
reference
to
`clock_gettime』
增加-lrt鏈接選項
如果是使用codeblocks,可以再link
option里加,不過因為依賴順序的問題,如果link
option里加了還是報錯,直接在link
file里添加pthread
dl
rt等即可
如果是你自己的庫出現這undefined
reference什麼函數,先去查下庫的源代碼,看看具體問題。
上面就是Linux編譯link出錯的解決方法介紹了,本文除了介紹link出錯外,還總結了一些undefined
reference問題,希望對你有所幫助。
⑺ 如何加速Android源碼的編譯
每個編譯單元都會產生一個obj文件,然後所以這些obj文件會被link到一起,並且這個過程很難並行
⑻ 匯編的源代碼拿什麼東西編譯
比如說你的源文件是 test.asm
在cmd下進入你test.asm所在目錄,命令行下輸入 masm test.asm
這一步在test.asm目錄下生成一個 test.obj文件
然後是連接 link test.ojb
這樣在同一目錄下就有 test.exe了
你可以試試從網上或書上找的完整的代碼(書上有時給的是代碼片段) 看能否編譯。
還有出錯時看看編譯器給出的錯誤提示,常見的問題是缺少相關庫文件,重裝一遍編譯器就行。
還有文件名長度也可能導致編譯連接失敗。我發現link可以連接的文件名好像不能超過8個字元,即使編譯這步沒有問題
⑼ VB6.0的LINK.EXE編譯器就可以編譯64位DLL嗎有沒有視頻或工程
vb6 是無法將其源碼編譯成64位 基於現在系統都是向下兼容 vb6編譯的32位文件完全可以在64位操作系統上使用 如果非64位不可 只能使用vb.net
⑽ 如何編譯libcurl
1:linux下源碼編譯
./configure --prefix=/usr/local/curl --disable-shared --enable-static --without-libidn --without-ssl --without-librtmp --without-gnutls --without-nss --without-libssh2 --without-zlib --without-winidn --disable-rtsp --disable-ldap --disable-ldaps --disable-ipv6
注意:不需要其它功能就disable,不然會在連接時報錯, 如果你沒有disable掉,但你的機器上又沒有安裝相應的庫,link時會報錯。
2:windows下源碼編譯
libcurl 7.21以後的版本在Windows下的編譯比較簡單,自帶了MinGW和VC環境的Makefile文件,首先去Curl官網下載源代碼:http://curl.haxx.se/download.html,任選一個下載即可,推薦這個: curl-7.21.2.tar.gz,下載完成後解壓開,打開命令行進入curl源碼目錄,(在此之前請先設置好MinGW的環境變數):
cd curl-7.21.2
編譯libcurl庫文件:
cd lib
make -f Makefile.m32
等待編譯完成即可
(若需編譯生成curl可執行文件,則執行:
cd ../src
make -f Makefile.m32)
編譯完成後,我們需要復制include頭文件和庫文件到一個目錄供程序開發用
1. 新建curllib目錄
2. 新建curllib/include目錄,將源代碼include目錄里的curl文件夾復制到curllib/include目錄,這些是使用libcurl需要的頭文件
3. 新建curllib/lib目錄,將源代碼lib目錄里編譯好的庫文件libcurl.a,libcurldll.a,libcurl.dll復制到curllib目錄
4. 將MinGW安裝目錄下lib文件夾里的libwldap32.a和libws2_32.a復制到curllib/lib目錄
至此,curllib就是我們開發中要使用到的libcurl的全部文件,下面新建一個測試程序main.c