在Windows和Linux上编译

时间:2009-11-11 02:51:25

标签: c linux visual-studio-2008

我只是在寻找一些指导方针,因为这似乎是一个非常开放的问题。

我有一个使用Visual Studio 2008 sp1编译的项目。我必须编译所以它将使用gcc 4.4.1 C99运行linux。

这是一个我自己没有写过的演示应用程序。

源代码是编写的,所以它可以是跨平台的(linux,windows),因此代码将在linux上编译和运行。但是,如果它是使用VS开发的,我没有任何makefile可供使用。

我可以写一个make文件。但我不确定依赖性,因为大约有20个文件(* .c和* .h)。

我只是想知道如何从visual studio项目编写makefile?我可以使用任何设置吗?什么取决于什么?还有什么吗?

非常感谢任何建议,

3 个答案:

答案 0 :(得分:3)

您可以使用的一个工具是CMake。 CMake可以生成VS.net解决方案文件,它可以生成Unix makefile。这种方式并不容易,也不是没有它在路上的颠簸。 (特别是当构建序列变得复杂时)

答案 1 :(得分:3)

makedepend实用程序将扫描您提供的C文件,使用C预处理规则确定它们的依赖关系并将它们输出到Makefile。

这应该完成你想要的大部分工作。

答案 2 :(得分:1)

从一个非常简单的Makefile开始:

theapp: *.c *.h Makefile
    gcc *.c -o theapp

这两行将在90%的路上(并且在很多情况下,100%的路上)。

现在,您只需使用以下命令在Unix中制作和运行您的应用程序:

$ make && ./theapp

建议你使用像automake 这样复杂的Makefile生成器,除非你计划向全世界发布这些东西。

对于私人项目,请保持简化和干净。