cygwin如何编译
❶ cygwin把源程序链接到指定的库进行编译,用什么指令
如果你意思是问怎样生成库,那查编译器相关的,看你用的什么编译器toolchain(VC? GCC?),手册都会有编译器、链接器的命令行参数说明,编译时用相关选项指定库路径即可
如果你的问题是和Cygwin的路径和环境变量有关的,打开cygwin安装目录,你会看到熟悉的目录路径,和linux类似的。
bin下面放可执行文件,usr/include里面是一些库的头文件,lib下面放那些动、静态库文件。对应扔这些目录里面也可以,或者查手册应该也能找到改Cygwin环境变量的方法,添加你的库路径就行。 cygwin里面,windows的c盘对应路径为/cygdrive/c/ d为/cygdrive/d/ 其他同理。。。
❷ 如何在没有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上编译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编译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了
❺ win7 64位机已经安装了Cygwin 和WinPcap 及snort,如何在Cygwin中编译snort急求,求知道的大神帮助
假设你的snort.exe位于d:\snort\bin\snort.exe。按以下步骤:开始——运行——cmd——d:——cd snort\bin——snort
但snort一般都是配合命令来用的,要加一些选项才有效果。如(这里的路径是我电脑上的):
snort -c c:\snort\etc\snort.conf -l c:\snort\logs -d -e -v
如果要结束,可以用Ctrl+c,则退出snort。
说一下,snort轻量级入侵检测方案,在windows下安装、配置、调试成功还是不太容易的。特别是配置和调试,你要有心理准备。
❻ cygwin下编译,调试C源程序
你是初学者吧,没关系,很简单的。
cygwin我没用过,大概是别人给套了个可视化编程界面了。
1.你运行cygwin这个软件,然后“文件/打开/”把你准备好的C源代码加载到这个软件中。(就好比我们平时用word时,先运行word软件,然后把你的文档加如入并进行编辑。)
2.在软件界面上(一般在:工具栏)找一个功能为“运行”的按纽。
准备知识:
写一个程序一般分以下步骤:
1.编辑(就是把你的源代码写出来,你可以用“记事本”写,当然一般编程工具cygwin也会提供编辑环境)
2.编译+连接(你只要点个按纽就行,这个任务完全由cygwin完成,你不必管它怎么完成这个任务的。
==============================
那么,编译是什么意思呢?
==============
由于你是初学者,我只能用尽可能通俗的话给你解释一下,这种解释是不够准确的。因为计算机本身只认识二进制指令,就是0/1的序列,每个0/1的序列都在计算机设计时,就赋予了一定的含义。比如:设计师可以把0001表示作个加法,用0000表示作个减法。但是如果人们用0/1的序列来表达我们的需求,显然非常麻烦。于是,后来一些科学家就发明了一种近似英语的计算机语言C,很明显如果要让计算机也明白C表达的意思,我们就必须把C翻译成0/1的序列。那么,编译就可以理解为“翻译”。
[打个比方1]这就好比,你是个中国人,你只会说中文,计算机是个美国人,它只会说英语。你要请计算机给你做件事,你可以用中文写好你的要求,然后请个翻译,把你的要求翻译成英语。)
======
调试是什么呢?
=====
调试分两个层面:(沿用上面的比方1)
1.语法层
你用中文表达你的要求时,可能你的用语不够规范,或写了错别字,使得你
请的翻译不理解你的意思,没办法翻译下去。这时,这个翻译就会通知你说:“对不起,你这个字是不是写错了”。于是,你就“调整调整,修改修改,才试一试”(“调试”由此得名),然后才请翻译进行翻译。
2.语意层
由于你的疏忽,你把要求表达错了。举个离谱点的例子:你本意是打算请计算机帮你买张去北京的火车票的,结果你不小心,写成了买张去上海的火车票。出现这个错误,翻译没方法告诉你,只有等计算机把一张上海的车票给你,你才意识到,于是你重新调试,才执行。
❼ 用Cygwin如何编C/C++程序
首先当然要在cygwin中安装编译环境了,比如说gcc,然后就用一些普通的编辑工具写代码,或者使用cygwin中的编辑工具也行。代码写好后,用gcc编译就可以了,很简单啊。
gcc编译方法可以看一下gcc的文档,复杂点的,可以用make了
❽ 如何用 cygwin + libtool 编译出 VS 可用的 lib/dll
经过努力,发现这个连接的方法,是可以编译生成libcurl.a文件的。我的方法是将解压的curl源码放到ndk根目录。在cygwin中切换到(ndk目录)/curl。然后运行./configure命令生成curl_config.h,然后将android.mk中节点LOCAL_CFLAGS+=\$(common_CFLAGS)\-I$(LOCAL_PATH)/include\-I/usr/include补充缺少内容。然后编译,有好多警告,不过最后还是成功了。