我正在尝试使用Cygwin作为个人学习练习将我在Ubuntu中为KDev编写的旧程序移植到Windows Visual Studio 2008。我已将include路径配置为包含 C:\cygwin\usr\include
但它没有正确读取.h文件。
即我很好奇如何使用unix sockets.h
使用Cygwin在Visual Studio环境中的功能。有没有人有这个工作或有一个更简单的方法去做这个?
我正在尝试使用Cygwin作为个人学习练习将我在Ubuntu中为KDev编写的旧程序移植到Windows Visual Studio 2008。我已将include路径配置为包含 C:\cygwin\usr\include
但它没有正确读取.h文件。
即我很好奇如何使用unix sockets.h
使用Cygwin在Visual Studio环境中的功能。有没有人有这个工作或有一个更简单的方法去做这个?
根据您的具体目标,有几种方法可以实现。最简单的方法可能只是创建一个Visual Studio“makefile”项目,它触发一个自定义构建命令来运行你构建的makefile。但是,这使您远离Visual Studio作为IDE的很多好处,所以我猜这不是你真正想要的。
如果您想要一个更完全集成的解决方案,那么您将需要做两件事。首先,您将需要更改所有的include / library路径以避开Microsoft的路径,而是转而使用Cygwin路径。您可以通过从菜单中选择“工具 - >选项”,然后从出现的窗口左侧的树中选择“项目和解决方案 - > VC ++目录”来完成此操作。您可以选择更改可执行文件,标题,库等的搜索目录。对于您要执行的操作,我建议您删除 一切 并添加只是cygwin目录。
其次,您必须告诉Visual Studio使用gcc / g ++编译器。这有点棘手。 VS支持自定义文件类型的自定义构建规则......但似乎C ++已经为Microsoft编译器硬连线。除了使用您自己的自定义文件扩展名外,我真的不太了解它。您可以尝试.c(C文件)和.cc(C ++文件)的标准unix扩展,但我怀疑Visual Studio会自动接收这些扩展。你可能不得不采取完全陌生的东西。
如果在解决方案资源管理器中右键单击项目并选择“自定义构建规则”,您将获得一个界面,可以为您选择的文件扩展名创建自定义构建规则。界面相对简单。
这可能无法满足您的需求,但它可能与您使用Visual Studio的时间差不多。
简单地说, 不要那样做。这只是浪费时间。我试了好几次,但总是失败了。大多数情况下,我对许多链接错误感到沮丧,也无法使用VS作为调试器。
您可以使用Visual Studio编辑和浏览源代码。这很好,因为VS提供了最好的C / C ++智能感知功能(例如,自动完成,快速进入定义/声明)。但是,在Visual Studio 2008中使用cygwin工具链非常困难。 Visual Studio 2008不适用于其他工具链。具体来说,您需要更改(1)标头,(2)库,(3)编译器和(4)链接器。但是,它通常非常难,或者您需要使用Visual Studio的优秀功能进行权衡。
Visual Studio最强大的功能是它的调试功能,例如完全集成的调试环境和非常容易观察的窗口(例如,您可以直接在监视窗口中看到STL矢量元素)。但是,如果您要更改基本工具链,则无法执行此操作(尽管我非常怀疑甚至可以使用Visual Studio和cygwin工具链安全地构建)。
不幸的是,目前的Visual Studio 2008不适用于cygwin / MinGW。