在src目录中几乎没有带.c anf .h扩展名(cmdline.c cmdline.h core.c core.h等)的文件,还有一个没有扩展名的文件“MakeFile”。是否有可能将这些源文件构建到Windows 7(64位)上的某些可执行文件中?我想我需要为C或某些sdks下载编译器吗?
答案 0 :(得分:3)
是
你需要:
cmd.exe
并输入gcc -v
和mingw32-make -v
来验证是否已完成,如果您的路径设置正确,两者都应该为您提供一半的版本信息,cmd.exe
,导航至Makefile
所在的文件夹并致电mingw32-make
。从现在开始,一切都应该自动编译。如果没有,请发布错误。
更新
首先,获取MSys包非常有用。安装它并且您将拥有更新版本的make
(从现在开始使用它而不是mingw32-make
。)
关于CreateProcess
错误,它与系统PATH
变量太长有关。你需要做这样的事情:
cmd
set PATH=c:/mingw32/bin;c:/msys/1.0/bin
(如果不同,请更改此处的路径以反映您自己的安装)make
。如果你没有错过任何外部库,一切都应该顺利。BTW-切记不要在带空格的目录中安装MinGW或MSys。
答案 1 :(得分:0)
我不是Windows开发人员.. 但仍然据我所知。 Visual Studio(即2008,我猜)能够读取Makefile。 请看一下..如果需要,请将此makefile更改为其格式..
有很多开源产品是独立于平台的......它们可以在两个操作系统上使用它们提供的Makefile进行编译。
或者使用'cygwin'
开发人员C ++在windows中运行,但它实际上是在Windows中购买的GCC代码,是否有人熟悉他们用于将linux(.sh)转换为可执行文件的过程?
答案 2 :(得分:0)
我想我需要为C或某些sdks下载编译器吗?
当然是编译器,但您可能需要的其他库将完全取决于代码本身。成功构建还可能取决于原始代码和makefile的预期目标。 makefile可能是一个GNU makefile,但还有其他类似但不兼容的make实用程序,如Borland Make和MS NMake。如果它是一个简单的构建,您可以完全避免makefile问题,并使用IDE提供的项目管理,如Visual C ++ 2010 Express。
如果您不知道这段代码是什么,代码是什么以及它需要构建什么,那么您将冒险构建它。也许您应该发布一个原始来源的链接,以便您可以获得有关如何构建它的更具体的建议。
<强> [编辑] 强>
好的,现在看看你试图构建的代码,这是一个非常简单的构建,所以如果你想避免使用GNU make,那么你可以将src文件夹中的所有* .c文件添加到在IDE中进行项目并构建它。
然而,有一个严重的问题,它使用BSD套接字API和Linux系统头。您需要首先将代码移植到Windows API(例如WinSock(非常类似于BSD套接字)),或者在Cygwin(在某种程度上使用大锤)下构建它。可能还有其他需要排序的Linux依赖项,我没有详细介绍,但看起来相当简单。也就是说,如果你没有关于编译这些东西的第一个线索,那么这可能不是你可以做的任务吗?
当然编译代码可能只有半个问题,如果它被设计为在Linux上运行,可能存在阻止它在Windows上运行的运行时依赖性。我再次没有详细介绍过。
另外看一下代码,我会建议一些谨慎,这可能不是最优质的代码。这可能是不公平的,但一个明显的缺陷和迹象表明缺乏经验是标题中没有包含警卫。