当前位置:首页 » 编程软件 » cygwin编译

cygwin编译

发布时间: 2022-09-06 06:35:46

① 请教在cygwin下编译uboot出错的问题

我在编译一个软件的源代码时,无论是在CYGWIN上还是在纯linux上编译都make时总是通不过,是编译平台的问题吗?可是linux系统自带的编译器应该没错吧~,是我漏左了什么吗?可是makefile文件也应该没错的 那是ROCKBOX源代码来的,我想把它编译到电脑上来 它官网上说可以的 但是他上面某些都西还不懂,本人是学生,只想多学点东西 请高手指教,我应该看些什么书,还需了解下什么~~~请高手指教,谢了
arm-linux-gcc has EABI version 5,but target u-boot has EABI version 0 出现这样的提示,个人觉得是交叉编译器版本跟uboot版本不匹配,貌似交叉编译器版本过高了。楼主可以尝试更换一个较低版本的编译器,或者找一个较高版本的uboot

② 如何在cygwin上编译golang

基本步骤如下:
1、安装hg
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ Python ez_setup.py
$ easy_install -U mercurial
2、下载代码
hg clone https://golang-on-cygwin.googlecode.com/hg/ golang-on-cygwin
3、准备编译
vi /etc/profile

GOOS=linux
GOARCH=386(目前不支持amd64)
GOROOT=
GOBIN=
注意GOBIN必须存在
另外在$GOROOT/pkg/linu_386必须存在
还有,需要把/src/cmd/gc/mkbuiltin删除后重新建一个

③ 用cygwin如何编译已经写好的makefile文件

使用cd命令跳转到makefile所在目录
$ cd FILE_PATH
使用make命令,make会自动寻找文件名为makefile的文件
$ make

④ cygwin编译C语言的问题

亲,你输出的是中文么?cygwin在编码上默认好像是utf8。如果你输出中文的话,源码最好转成utf8的,然后编译打印。

⑤ 如何在Eclipse中如何用cygwin把C文件编译成so文件

用cygwin把C文件编译成so文件:

1:首先,要准备好一个jni文件夹,里面包含三个文件:

makefile文件:

LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=test-jni
LOCAL_SRC_FILES := test-jni.c
include $(BUILD_SHARED_LIBRARY)

如果有多个文件,可能有所不同吧,尚未尝试。


头文件:最好使用javah命令来生成,可见我的上一篇文章;

源文件:根据头文件,完善源码。


2:将jni文件夹拷贝到Android项目目录下

3:运行cygwin,使用CD命令,切换目录到Android项目目录

4:输入命令$NDK/ndk-build,屏幕显示如下:

$ $NDK/ndk-build
Cygwin : Generating dependency file converter script
Compile thumb : test-jni <= test-jni.c
SharedLibrary : libtest-jni.so
Install : libtest-jni.so => libs/armeabi/libtest-jni.so

表示生成成功。

⑥ 如何在没有make的cygwin中编译生成make.exe

由于我在安装cygwin时忘了包含make包,所以安装后发现我在bash中无法使用make命令。但是一般在cygwin下面的软件都是要用make来实现编译和安装的。没有make,又如何编译生成make.exe呢?我琢磨了一些,依靠查看man文件找到了方法。
本文以 make 3.81 版本为例。前提是我的cygwin里有GCC 3.4.4了。
首先,别的不说,先曲下载一个make 3.81的压缩包,在cygwin下解压缩,进入解压缩得到的文件夹中。依次键入:
./configure
./build.sh
于是在当前文件夹中会自动生成make.exe。然后将复制或者移动到shell命令根目录下:
mvmake.exe /bin
然后就可以在任意cygwin路径下使用make了。

⑦ 请教如何使用cygwin编译ffmpeg静态库

如何使用ndk为ffmpeg编译rtmp+polarssl静态库?这个问题花了我整整一天时间。其中遇到很多小问题,这里记录一下,方便自己也方便其他人。

1、编译polarssl,查看其Readme文件即可,不需要configure,只需要make时带上必要的参数即可,不过要记得在每一次执行make命令时都带上CC的参数(指向你的arm gcc),因为我试过在make install时没有带上CC的参数,虽然能编译出polarssl但是未能正确被rtmp引用到。

2、因为前面我用的polarssl是当前最新(1.3.7)版本,而librtmp使用的好像是polarssl1.0.0以下版本的api,所以需要修改rtmp部分源码,让其调用新版polarssl的api,这里的修改可以参照《Migrating from PolarSSL-1.2 to the PolarSSL 1.3 branch》和《[rtmpmp] branch master updated. a312ac7 Fix compat with PolarSSL >= 1.1.0》。

3、出现 undefined reference to `havege_random’错误,这里是因为polarssl默认关闭了havege模块,需要你手动开启,主要就是修改include/polarssl/config.h,去掉POLARSSL_HAVEGE_C前的注释,也就是要定义POLARSSL_HAVEGE_C,如下:
#define POLARSSL_HAVEGE_C

4、在编译出上面两个库之后,可以开始编译ffmpeg(2.1.1版本)了,如果遇到下面的问题 check_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
ERROR: librtmp not found
这里有三种解决方法:
第一种,因为是网络上传播最多的,算是比较简便的方法,就是修改ffmpeg的configure,将以下一行:
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
改为:
enabled librtmp && require librtmp librtmp/rtmp.h RTMP_Socket -lrtmp -lpolarssl -lz
或者直接注释掉&& *** 部分,然后再自己加上librtmp的库路径也行

第二种,(比较推荐,因为解决了这个会顺带解决大部分找不到库的错误!)因为这里使用了pkg-config工具查找库,而这个工具ndk并没有附带提供,而出现check_pkg_config相关错误的话,只要稍加注意,会发现在使用configure配置ffmpeg的交叉编译时,已经有相应的pkg-config不存在的警告了。我对这个工具不熟悉,所以我只是简单地加上了一个软链接到系统的pkg-config,如下:
ln -s /usr/bin/pkg-config /home/cidy0106/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-pkg-config
这个时候重新configure的话可能会出现找不到polarssl库的错误提示,需要修改一下librtmp安装目录里的librtmp.pc,把以下内容:
Libs: -L${libdir} -lrtmp -lz
改为:
Libs: -L${libdir} -lrtmp -lz -lpolarssl

至此,就可以正确编译出ffmpeg了

⑧ windows下如何用cygwin 编译gmp

cygwin可以编译生成windows下供调用的dll,包括vc可识别的lib。

Cygwin-GCC : Cygwin自带了一个GCC,用于把C/C++-Source编译成Cygwin平台下的EXE/DLL (使用Cygwin必须用其自带的GCC, 因为内部会生成一些针对于平台的特定的初始化代码,如果用其余版本的GCC则很有可能导致程序不能正常运行.)

Cygwin-GCC : Cygwin自带了一个GCC,用于把C/C++-Source编译成Cygwin平台下的EXE/DLL (使用Cygwin必须用其自带的GCC, 因为内部会生成一些针对于平台的特定的初始化代码,如果用其余版本的GCC则很有可能导致程序不能正常运行.)

说明 - Cygwin-GCC :

在Cygwin-Shell中可直接使用gcc .如下 :

gcc -shared xxx.c -o xxx.dll //编译成DLL, 注意,Cygwin-GCC默认导出所有的Function.

gcc -c xxx.c -o xxx.o //编译成OBJ

gcc xxx.c -o xxx.exe //编译成EXE

ar r xxx.lib xxx1.o xxx2.o //打包多个obj成一个Lib (非连接)

gcc xxx.c ./L aaa.dll -o xxx.exe //引用外部DLL生成EXE

gcc xxx.c yyy.c -o zzz.exe //连接多个C文件,生成EXE.

gcc -I"/bin/include"-c xxx.c -o xxx.o //引用/bin/include目录下头文件,生成OBJ

gcc -L"dll.a" xxx.c -o xxx.exe //连接dll.a,生成EXE

如果想知道编译时具体的信息,可以使用--verbose这个编译选项,对于了解GCC的工作是很有帮助的.

额外的,也可以写自己的导出Lib文件,以方便其余程序引用DLL (如Cobol2002编译器就不支持直接引用DLL, 这个时候可以写一个Def,并导出Lib文件,便于Cobol2002使用)

具体方法如下:

1. 编译生成DLL :

如: gcc -shared MyTest.c -o MyTest.dll, 生成MyTest.dll.

2. 写一个DEF文件 (这里是MyTest.def),简单的格式大致如下:

LIBRARY MyTest //这里的MyTest对应于MyTest.dll
EXPORTS
AllocMemory @1 //导出的第一个function : 对应于MyTest.dll里面的AllocMemory(...), 注意,参数可不用写
ReadMemory @2 //导出的第二个function : 对应于MyTest.dll里面的ReadMemory-Function.

//注意:function可以不用全部导出,可以只选择你需要的Function.

3. 用LIB工具(VC6有提供)生成LIB文件 (这里是MyTest.lib) :

lib /def:MyTest.def //默认生成的名称为MyTest.lib.

4. 到此生成完毕,连接的时候只需要引用MyTest.lib即可,但要注意XXX.exe 和MyTest.dll要放在同一目录下.

可以用 gcc --help 查看具体的命令 etc...

热点内容
fsb文件解压 发布:2025-03-20 12:31:34 浏览:136
3d源码棋牌 发布:2025-03-20 12:30:31 浏览:238
什么叫服务器访问限制 发布:2025-03-20 12:23:53 浏览:945
机架式服务器如何拆装 发布:2025-03-20 12:23:53 浏览:23
交叉编译器缺少库 发布:2025-03-20 12:20:12 浏览:716
tt语音新人签到领皮肤脚本 发布:2025-03-20 12:20:05 浏览:693
编程招标网 发布:2025-03-20 12:19:28 浏览:1001
风险防控平台服务器地址是什么 发布:2025-03-20 11:59:04 浏览:232
什么为有效wifi密码 发布:2025-03-20 11:57:22 浏览:705
联发科安卓哪个好 发布:2025-03-20 11:56:26 浏览:357