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