在linux中编译Visual C ++代码

时间:2011-06-14 10:00:27

标签: windows linux visual-studio-2008 cmake

我在visual c ++中编写了一个代码,它是一种用于虚拟com PORT连接的GUI。但是,我需要在linux中运行该代码,以便我可以使它成为一个开源。因为,visual c ++在linux中不起作用,我需要找出一些替代方案。

所以,请问我有什么替代方案

感谢您宝贵的时间.. !!

3 个答案:

答案 0 :(得分:4)

  

我需要在linux中运行该代码,以便我可以将其作为开源。

不,您可以将代码作为开源许可,而无需在Linux上运行。 如果您只是希望您的代码在linux下运行,您需要学习如何从VC ++移植到Linux / GNU。这不仅仅是重新编译它的问题。

如果需要,请参阅以下网址获取建议和Google搜索更多内容:http://www.johndcook.com/blog/2008/05/29/porting-visual-c-code-to-linuxgcc/

答案 1 :(得分:0)

根据我的经验,你可以通过

获得一个很好的方式

http://www.winehq.org/docs/winelib-guide/winelib-toolkit

  • 酿酒师(在Linux上使所有包含区分大小写正确的做法)
  • winegcc(链接到winelib运行时库,这样你就可以拥有_WinMain和类似的工作)

当然,有些图书馆根本就不存在。此外,安装SDK可能令人生畏; winetricks.sh在该部门非常有帮助。此外,您可以考虑将“XCOPY”部署到Linux构建树中并使用它;

这已成功让我过去编译与第三方Windows库链接的MSVC项目。注意由于默认情况下与gcc / GNU ld具有略微不同的链接语义而导致的轻微不兼容性;期望这会影响像RTTI这样的区域和跨DLL边界抛出的异常。)

YMMV

编辑我想确认一下,您只能为Windows提供完全有效的开源代码,并且您也可以使用Visual Studio构建它。如果你想对你的(潜在的)贡献者感到高兴,请确保你只依赖于Visual Studio Express C ++(不是MFC,例如),但是嘿,这真的取决于你!

答案 2 :(得分:0)

which is a sort of GUI used in virtual com PORT connection

这可能难以移植(因为在Linux和Windows中处理虚拟端口和GUI的方式有很大差异 - 除非你在Windows中使用过某些跨平台库)。

您可以将代码仅作为Windows的OpenSource发布。