Windows下怎样linux交叉编译windows出可在Linux上执行的程序

原文: &&& 已经学会如何在Windows下如何编辑,编译和执行Java程序了,我就想试试如何在Linux下编译和执行Linux。 &&& 昨天下载了一个for Linux 的Eclipse,使用起来和在Windows下没有什么区别,但是速度慢了些,于是今天我想尝试一下如何在控制台下使用命令编译和执行Java程序。 &&& 首先,去Sun的网站上Download一个JDK,我下载的版本是 jdk1.5.0_08,安装。 &&& 接着,在root下编写了一个简单的Java程序 first.java &&& public class first{&&&&& public static void main(String args[]){&&&&&&& System.out.println("This is my first program.");&&&&& }&&& } &&&&& 在/usr/java/jdk1.5.0_08/bin下进行如下操作: &&&&& 编译 ./javac /root/first.java 没有错误; &&&&& 执行 ./java /root/first 有错误“Exception in thread "main" java.lang.NoClassDefFoundError”,我以为是没有设置环境变量的缘故。 &&& 下一步,设置环境变量。从网上找了一个如何设置环境变量的方法,按照自己的情况设置了一番,设置方法如下: &&& [root@localhost bin]# export JAVA_HOME=/usr/java/jdk1.5.0_08&&& [root@localhost bin]# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar&&& [root@localhost bin]# export PATH=$PATH:$JAVA_HOME/bin &&& 设置好了之后,对原程序进行重新编译和执行 &&& 编译 javac /root/first.java 成功 &&& 执行 java /root/first 仍然出现错误 “Exception in thread "main" java.lang.NoClassDefFoundError” &&& 我很纳闷,不知道问题出在哪里,java 这个命令已经可以使用,那应该是使用方法的错误。回到放置程序的root下,再一次执行 java first,这时没有错误,屏幕上显示“This is my first program.”这时我才想起在Windows的DOS环境下执行java这个命令时必须在存放文件的根目录下,在Linux下也应该这样吧!不管怎么说,现在我已经可以在Linux下不借助Eclipse这样的工具对Java程序进行编译和执行了,今天晚上也算是小有收获吧! &&& 做一下总结:我觉得在Linux下安装JDK和在Windows下并没有什么区别,只是在设置环境变量的时候有点不同,Windows的操作稍微简单一些,只需按几下按钮,复制粘贴一下就行;在Linux下则需要敲入挺多的字符才行,但也是不是很难的,只要在使用中注意一些小的细节,不犯粗心大意的错误,很容易就可以在Linux下编写,编译和执行Java程序了,而且在Linux下编写,编译和执行Java程序同样很方便,简单。
阅读(...) 评论()09:46 提问
linux程序在windows下编译并生成exe文件
由于硬件限制,原本在linux下运行的c++程序现在需要改为运行在windows环境下。请问有没有什么好的方法,可以将已经编写好的linux程序在windows下重新编译,生成exe文件?多谢!
按赞数排序
可以安装Cygwin模拟Linux环境,在Cygwin下编译出来的程序是exe文件。
主要是API的移植,特别是界面的代码不同,在VC中新建一个项目,把源代码都包括进来,然后把算法以及和界面无关的部分保留,其余粘贴在各自的位置,再调试下。
可能是你安装Cygwin时没有装完全,少了库
用mingw来编译如何在Windows下编写Linux程序_Linux编程_Linux公社-Linux系统门户网站
你好,游客
如何在Windows下编写Linux程序
来源:临月之影博客&
作者:临月之影
由于之前一直在Windows下使用vc编程,最近转到Linux下编程,老鸟级同事们说Linux下一般使用vim+gcc+gdb黄金组合,可能是习惯了vc的编辑与调试,总感觉gdb调试起来不如vc方便,vim用起来更是效率低的吓人,终于打算重新拾起两年前使用的source insight,鄙人观点是vim一定要会用,但不必精,因为有些特定环境只能使用vim,没有其他环境给你用,但自己一般编程时使用source insight写代码效率更高(高人勿拍砖头,哈哈…)。
下面就主要讲述如何搭建平台,在Windows下的source insight编码,在Linux下使用gcc,gdb编译调试。
1. 在Windows下建立文件夹如:D:\LinuxShare
2. 打开虚拟机
3.双击 Shared Folder
选中 Always enabled 然后 点击Add 添加要共享的文件夹
4. 运行虚拟机后 在Linux系统下 /mnt/hgfs目录下即可看到 LinuxShare目录,将代码拷入Windows系统下的D:\LinuxShare,用source insight建立工程进行编辑,之后再用Linux终端make以及gdb,哈哈…
相关资讯 & & &
& (02/03/:48)
& (07/30/:25)
& (10/17/:05)
& (01/11/:45)
& (08/20/:06)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
you know! 发表于 smart!
(0) glace 发表于 话说~这文章看的我好无奈啊,呵呵在windows上如何编译出linux用的程序?_linux吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:171,646贴子:
在windows上如何编译出linux用的程序?收藏
用的ide是CodeBlocks,编译器是MinGW,GUI库用的是GTK2.24但不知道该如何编译出linux的执行文件?该怎么设置?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或当前位置:&&技术问答>
请问在Windows上能直接开发出在linux上运行的程序吗?
&&&&来源:&互联网& 发布时间:
&&&&本文导语:&
在linux上做C++的开发没有Win32上方便……
不知道能不能在Windows平台下,直接就编译出能在linux上运行的target file
如果可以的话,我就只要在Win32上编译好程序,放到linux上执行就OK了
有没有知道的兄弟,告诉一声啊
在linux上做C++的开发没有Win32上方便……
不知道能不能在Windows平台下,直接就编译出能在linux上运行的target file
如果可以的话,我就只要在Win32上编译好程序,放到linux上执行就OK了
有没有知道的兄弟,告诉一声啊
目前还有这样的工具
绝对没有可能,装虚拟环境,说不定能写出那个平台下都能编译的代码。
但是,说到底,不离开 Windows 是学不了 Linux 的。
用交叉编译工具不就可以了吗????
用cygwin环境,然后在下面使用GCC就行了
用交叉编译工具不就可以了吗????
是可以,不过要自己编译GCC,libc、stl等库,而且受限于其它库,能开发的应用很有限,一般就用于开发嵌入式应用。象楼主这样的需求,还是回答“不能”更合适:)
能不能讨论一下为什么不可以啊?
一般操作系统不同,ABI就不同,即使都是x86平台,可执行代码仍然是无法通用的。
你用smb嘛,在一台LINUX上放置源码,在另一台WINDOWS下通过smb直接访问修改LINUX下的代码(可以用soureinsight之类的软件来改代码),然后通过ssh来远程编译代码,然后在那台LINUX下再用cvs客户端来同步服务器上的代码,有什么不方便的????????
配置需求:一台LINUX服务器,一台LINUX公用机,N台WINDOWS客户端,可以在那台LINUX公用机上设几个用户,每个用户将服务器上的代码下载到自己的目录中,然后通过远程WINODWS机来访问!!!
如果你还想节省一台机子的话,就将LINUX服务器与公用机用一台来做,不过这样子公用机的负荷相当重,而且数据安全性不能保证!!!
由于WINDOWS下的可执行文件格式与LINUX下的可执行文件格式不一样,操作系统的API也不一样,运行环境也不一样,所以就不能直接在WINDOWS下编译成LINUX下的可执行文件。
在使用Cygwin时,就相当于在模拟一个LINUX下运行环境,以至于可以让GCC,MAKE等工具能运行起来,而不再需要交叉编译(假定都是基于X86),当然,Cygwin仅适用于大多数的情况,有些能在LINUX下运行的程序放在Cygwin下就有可能无法运行的,且都是基于命令行的工具,如果是GUI的,就无法在Cygwin下运行,所以一般情况下,还不如直接在LINUX下开发更好,何必要一个cygwin呢????至于那些C库,C++库等,这些在网上都是现成的,随便下载就行了,无需自己去编译!!!!!只不过某些比较稀少的库需要自己去整
楼主有一句是这样说的:
我就只要在Win32上编译好程序,放到linux上执行就OK了
我的理解是在WINDOWS下写程序,编译,然后就把它放在LINUX下运行,所以我说要无法直接在WINODWS上编译的原因有三:
1.可执行文件格式不一样
2.系统的API不一样,只是标准C库对操作系统API作了封装,所以写标准C代码可以跨平台移植,前提就是在不同的平台下使用了不同的C库!!!
3.运行环境不一样,就这导致了有些编译工具无法直接运行,比如automake,gcc等,从而也就无法完成编译工作。
而cygwin模拟了LINUX运行环境,从而使一些基本工具能在WINDOWS下运行,从而实现编译工作,但它只是让常用的LINUX下的命令行工具可以使用,却无法使用一些诸如在GUI上可运行的软件,这就是它的局限性所在。
如果要想真正学会LINUX下的开发,最好在直接在LINUX下学习工作,LINUX下的工作效率未必就低,可以用soure navigator进行源码分析与编辑,还可以直接调用MAKE,跟soure insight一样好用,用DDD,gdb来调试,跟WINDOWS平台下的调试工具一样好用,用strace来跟踪程序,查看程序的系统调用,用sed,awk等来对文本操作,用各种脚本语言,应有尽有!!!!GCC对STL的支持也比较好,用SDL库编写游戏,图形界面,用GTK库,QT库,MYSQL。。。。。。
如果想在windows编译完成的二进制代码在linux运行,这不太可能
如果想写出可移植性的代码,在windows下写,然后编译,连接就可以在windows下运行
如果代码是符合C++标准,不用到其独有的平台的特性,在该平台上编译,连接运行照样可以运行
无论是linux还是苹果者是一样的
其实楼主完全可以使用这样的办法:
直接改造Eclipse,在Eclipse上实现一个你们的集成开发环境,后台还是采用cygwin+gcc的方式,这样用户在Eclipse界面上编写程序,只需点一下鼠标就可以在后台用makefile进行编译,然后再给GDB加一个图形界面,这样就可以在Eclipse上进行图形化的调试了!!!!
你需要去理解一下如何在Eclipse建立自己的集成开发环境这方面的内容
通常嵌入式系统都是这样开发的,不过实际成熟的这样的为纯linux的交叉编译环境没有,为uClinux倒是挺多。可见大家都认为没有这样的必要。因为linux下成熟的IDE非常多,你只是不去尝试而已。比如eclipse,和anjuta。
您可能感兴趣的文章:
本站()旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。本站()站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
相关文章推荐
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)2012-,E-mail:www_169it_(请将#改为@)}

我要回帖

更多关于 python编译可执行程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信