在Windows中安装Cgwin或minGW软件即可实现linux中程序到Windows中移植。
Cygwin是许多自由软件的集合,最初由CygnusSolutions开发,用于各种版本的MicrosoftWindows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在WindowsNT、Windows2000、WindowsXP以及WindowsServer2003上比较好.
MinGW的库,可以跟Windows本地的MSVCRT库(WindowsAPI)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。
先确保你的c程序没有调用win下专有的api,比如win32api或.net等,如果有,就需要另写接口层。最好能只调用posix库或跨平台的库,或完全原创的算法库。
c程序满足和win专有接口能脱离直接关系,就能在linux下编译。
Windows默认的编码是gb2312,而Linux是UTF8;
多数情况下,把Linux上的程序转换至Windows上运行需要进行编码转换才能正常显示;
而其实大可以不必的,同样,文件使用的依然是UTF-8,同样可以在Windows上跑起来,不过有一些事件还需要做的:
1. 在main.cpp中添加一段内容:
#include "QTextCodec"
int main(int argc, char *argv[])
{
...
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"))
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"))
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"))
...
}
2. 在使用QString时,需要使用Qstring str = QString::fromUtf8("content")
3. 之后,程序就可以正确的显示中文了~.~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)