
交叉编译出来的文件在目标机上无法运行大多由两个原因造成: 1 交叉编译工具链与目标机架构不匹配,也就是选错了编译工具; 2 缺少依赖库,这种情况可使用ldd命令查看依赖项,检查一下是否缺少依赖库文件
你好,方法
1、可以安装cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件,搜索官网下载即可,下载完成,安装的时候注意记得安装相关语言的编译器、解释器,在cygwin中生成Linux可执行文件。
2、 可以安装vmware、virtualpc等虚拟机,在虚拟机里安装linux系统,然后在linux系统中编译相应的源码,生成linux上的可执行文件。
交易编译就是将文件编译成目标机可执行的文件。 比如说:你在PC机上写一个helloword,怎么让它到开发板上运行,开发板上的指令跟PC机不到,就需要用到交叉编译工具,编译成开发板上能识别的指令。
总共又三种方案:
mingw+codeblocks,是windows下的gcc编译工具+跨平台的轻量ide,可以编译c++的程序,还可以使用wxWidget(跨平台的界面工具)
使用cygwin,是windows下中间件级别的编译工具。可以在cygwin下用命令行编译程序。
使用vmware或者其他虚拟机,安装目标linux系统,并且编译。这是虚拟硬件级别的编译工具,其编译的程序是完全可以在linux系统上运行的。
这个要看什么情况了,如果你的程序里面没有系统相关的函数,比如说全部是标准c的函数的话,那么直接编就可以了,linux和windows都支持c/c++,但是他们还有自己库,比如linux下的unistdh,我不知道win是否支持这些库,如果支持,包含了相应的头文件就应该能编译,至于什么软件,没听说过。
先确保你的c程序没有调用win下专有的api,比如win32api或net等,
如果有,就需要另写接口层。最好能只调用posix库或跨平台的库,或完全原创的算法库。
c程序满足和win专有接口能脱离直接关系,就能在linux下编译。
以上就是关于在windows上生产linux执行程序的交叉编译工具链叫什么全部的内容,包括:在windows上生产linux执行程序的交叉编译工具链叫什么、Windows下怎样编译出可在Linux上执行的程序、在WINDOWS下交叉编译LINUX程序运行不了是为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)