编译的静态库程序还是连接不了
❶ 为什么编译好的curl静态lib用不了
这个问题我刚遇到过。
你把它curl.lib引到库里面,然后只包含头文件的上级目录,原目录需要是<curl/curl.h>
1 静态库路径设置正确
2 定义CURL_STSTICLIB 解决extern函数声明问题,否则是动态库函数名称
3 增加ws2_32.lib,wldap32.lib 解决tcp通信问题
❷ 程序编译成动态库能正常运行而静态库却不行!
我感觉问题不太清楚呢,有如下疑问。
1. 楼主是用的BREW4.0或之前的版本来开发的吗?还是用的最新的Brew MP?
2. 用的模拟器还是下载到设备?
3. 一般不需要自己写makefile 啊,因为开发brew app有很多固有的框架代码,这些一般都由IDE上的插件帮忙生成,而且不需要自己构造命令编译连接的。
我的开发环境是: VC6.0 sp6 + BREW sdk4.0 + ADS1.2 这个可以生成mod下载到手中。
还有另外一个环境:VC2008 + Brew MP 5.0 这个只能在模拟器上测试。
首先,如果不是Brew MP的话,要把程序做成静态的只能和手机的代码一起编译成rom,下载到手机中,这个不能在模拟器上调试。
Brew MP封装了OEM也就是我们无法直接修改手机代码,所以它提供了上层编写静态程序的方法。
所以有些不太清楚你遇到的是那种情况。
一般来说MALLOC挂掉是分配的太大,这种情况很少,除非我故意去测试,真正开发的时候从来没有遇到过,而且跟手机代码一起开发的时候是可以用标准函数malloc的。也可以使用全局变量或静态变量,动态的不可以。
说到makefile,编译mod文件一用自己写,尤其是用VC的时候,brew的插件帮我们写好了,只要点一下就能进行ARM编译和链接,即使是用ADS来编译,也不需要自己写。
有问题再联系吧
❸ 静态连接失败
用5.0的吧 上144啦网站上去下易语言破解版 我这有个软件改下就可以 静态编译了,我QQ394379775
❹ 易语言静态库连接失败啊,怎么回事我的版本是5.1破解版的
首先右键点击易语言桌面图标,点击属性,
查找目标,找到:VC98linker 这个文件,打开。然后打里面的:link.e 这个易语言程序。打开后运行,运行完成后点下修改按钮,就完成了。
如果不行,网络一下:易语言5.11破解版,我在用没出过粗
❺ 为什么静态编译一个程序的时候总是出错
如果在编译你的源程序的过程中,不是涉及到库文件的链接的时候,一般的普通编译是不会出错的。出现该类错误一般都是你的源程序中使用的库文件的路径设置的不正确、或者是库文件名错误等等,造成无法将你的源程序和你的编译器中的静态库进行正确的链接。你再仔细检查你的源程序、以及你的编译中的选择项。
❻ 易语言静态编译链接失败
兄弟 你用的组件静态编译还不支持呢 哎 再等等吧,,, 看易啥时候能改进的更好
PS:解决方法就是--------------------------------------不要用易5.0或以上版的,就像我的机子上装了两个版本的易语言 一个4.14和一个5.1版 静态编译时就用5.1 不能静态时就用4.14版的.................
❼ 易语言无法静态编译找不到静态库
将附件文件解压后,剪切到你的易语言安装目录(与e.exe同一目录)下,运行一次即可,当你的易语言目录被改变后,再运行一次,没有改变不用运行。
如果还不行,应该是你下载的版本支持文件不完整,只有从新再去下一个完整版的。
❽ 易语言静态编译失败,显示:静态连接失败
找到易语言程序目录我的是D:\Program Files\E 5.11 完全版\然后找到tools文件夹,里面有个link.ini文件把这条改下就好linker="D:\Program Files\E 5.11 完全版\VC98linker\bin\link.exe"如果没有tools文件夹和VC98linker文件夹,就不是完整版我自己破解打包了一个完全可以使用的5..11,下载地址是http://u.115.com/file/dipetkb0#
易语言5.11_完美破解版.7z
❾ C语言编译问题 静态链接
链接静态库的意思就是在编译阶段需要将静态库链接到工程中,这样在编译时程序才不会出错,在用到静态库的函数时能够找到函数的实现,如果没有链接静态库则编译时会报错。
这里需要区分的就是链接动态库与静态库的区别,你可以到网上找一些资料看看。
而且链接静态库是将整个库文件都导入到了工程中,所以会增加工程的大小。
❿ linux下编译怎么链接静态库
静态库不能被打包到.o 文件 在C编译中, 是.c编译成.o,然后若干个.o打包成.a .a要比.o高一级的。 所以不能产生新的.o 你可以把.a文件解开 成为.o集合 加上你的.o文件, 共同打包成一个新的.a文件 这样是可行的。